MYSQL错误:SQLSTATE [42000]:语法错误或访问冲突:1248每个派生表必须有自己的别名

时间:2017-07-02 12:42:06

标签: mysql sql

有谁能告诉我为什么我一直在使用这个SQL查询出错?

            select hour , price , date
            from
            (
                select Hour(c_date) as hour , avg_price AS price , c_date as date
                from brc_table
                where c_date >= date_sub(now(), interval 1 Week)
            )
            group by date

2 个答案:

答案 0 :(得分:0)

您必须为派生表,表单指定名称(选择....)  所以添加eg:t ad from from()

的endo
       select hour , price , date
        from
        (
            select Hour(c_date) as hour , avg_price AS price , c_date as date
            from brc_table
            where c_date >= date_sub(now(), interval 1 Week)
        ) t 
        group by date

答案 1 :(得分:0)

在mysql中,Comparable是"保留字",因此您不能拥有名为DATE的列,并且您不能在别名中使用单词date (与date一样。)

您应该选择“日期”之外的其他名称,或者引用“' date'使用后引号(也称为反引号),如下所示:

AS date