phpMyAdmin中的MySQL解析错误("此类型的子句先前被解析过#34;)

时间:2016-04-07 18:11:53

标签: mysql sql select phpmyadmin

我有以下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中工作正常。但那里有一个警告说:

"此类型的子句先前被解析过(接近选择)"。

你能猜出是什么问题吗?查询可以执行并返回预期结果。

3 个答案:

答案 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