我有以下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中工作正常。但那里有一个警告说:
"此类型的子句先前被解析过(接近选择)"。
你能猜出是什么问题吗?查询可以执行并返回预期结果。
答案 0 :(得分:3)
它似乎是一个phpMyAdmin解析器错误,请参阅the issue on github,查询本身是有效的。
答案 1 :(得分:1)
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
答案 2 :(得分:1)
我收到了相同的错误消息,在我的情况下,我只有少量UPDATE
子句而没有分号结束。
UPDATE `table` SET `column`='val2' WHERE `id`=1 **;**
UPDATE `table` SET `column`='val2' WHERE `id`=2