MySQL phpMyAdmin 中的解析错误 ("This type of clause was previously parsed")
MySQL parsing error in phpMyAdmin ("This type of clause was previously parsed")
我有以下 SQL 查询:
SELECT SUM(tmp.mval), tmp.timekey FROM
(SELECT teghamas,
MAX(arzheq) as mval,
ceil(UNIX_TIMESTAMP(zhamanak)/(60 * 60)) AS timekey
FROM `masnakcutyun`
LEFT JOIN teghkentron ON `masnakcutyun`.`teghKentronId`=`teghkentron`.`teghKentronId`
WHERE teghkentron.hamaynq="London" group by timekey, teghkentron.teghamas)
AS tmp
GROUP BY tmp.timekey
它在 phpMyAdmin 中运行良好。但是那里有一条警告说:
"This type of clause was previously parsed (near select)"。
你能猜出问题出在哪里吗?查询可以执行并 return 预期的结果。
MySQL 允许在 from
子句中写入子查询,但这是已知的 issue,您可以创建视图并使用它:
CREATE VIEW viewname AS (SELECT teghamas,
MAX(arzheq) as mval,
ceil(UNIX_TIMESTAMP(zhamanak)/(60 * 60)) AS timekey
FROM `masnakcutyun`
LEFT JOIN teghkentron ON `masnakcutyun`.`teghKentronId`=`teghkentron`.`teghKentronId`
WHERE teghkentron.hamaynq="London" group by timekey, teghkentron.teghamas) ;
SELECT SUM(mval) as MySum, timekey
FROM viewname
GROUP BY timekey
这似乎是 phpMyAdmin 解析器错误,参见 the issue on github,查询本身有效。
我收到了同样的错误消息,在我的例子中,我只有几个没有分号结尾的 UPDATE
子句。
UPDATE `table` SET `column`='val2' WHERE `id`=1 **;**
UPDATE `table` SET `column`='val2' WHERE `id`=2
我有以下 SQL 查询:
SELECT SUM(tmp.mval), tmp.timekey FROM
(SELECT teghamas,
MAX(arzheq) as mval,
ceil(UNIX_TIMESTAMP(zhamanak)/(60 * 60)) AS timekey
FROM `masnakcutyun`
LEFT JOIN teghkentron ON `masnakcutyun`.`teghKentronId`=`teghkentron`.`teghKentronId`
WHERE teghkentron.hamaynq="London" group by timekey, teghkentron.teghamas)
AS tmp
GROUP BY tmp.timekey
它在 phpMyAdmin 中运行良好。但是那里有一条警告说:
"This type of clause was previously parsed (near select)"。
你能猜出问题出在哪里吗?查询可以执行并 return 预期的结果。
MySQL 允许在 from
子句中写入子查询,但这是已知的 issue,您可以创建视图并使用它:
CREATE VIEW viewname AS (SELECT teghamas,
MAX(arzheq) as mval,
ceil(UNIX_TIMESTAMP(zhamanak)/(60 * 60)) AS timekey
FROM `masnakcutyun`
LEFT JOIN teghkentron ON `masnakcutyun`.`teghKentronId`=`teghkentron`.`teghKentronId`
WHERE teghkentron.hamaynq="London" group by timekey, teghkentron.teghamas) ;
SELECT SUM(mval) as MySum, timekey
FROM viewname
GROUP BY timekey
这似乎是 phpMyAdmin 解析器错误,参见 the issue on github,查询本身有效。
我收到了同样的错误消息,在我的例子中,我只有几个没有分号结尾的 UPDATE
子句。
UPDATE `table` SET `column`='val2' WHERE `id`=1 **;**
UPDATE `table` SET `column`='val2' WHERE `id`=2