忙活大半天,终于找出了自己写的SQL语句中的问题。
错误前:
SELECT CAST(MONTH(stat_date) AS CHAR) as stat_date ,CAST(COUNT(month(stat_date)) AS CHAR)AS prodcode FROM tb_ac_syzworder
WHERE (SELECT MONTH(stat_date))>(select MONTH(NOW())-4) AND (select MONTH(stat_date))<=(select MONTH(NOW()))
GROUP BY stat_date 经过老司机的指点,找出了错误原因,其实很简单,之前学sql server时记得老师曾经强调过的。
SELECT CAST(MONTH(stat_date) AS CHAR) as stat_date ,CAST(COUNT(month(stat_date)) AS CHAR)AS prodcode FROM tb_ac_syzworder
WHERE (SELECT MONTH(stat_date))>(select MONTH(NOW())-4) AND (select MONTH(stat_date))<=(select MONTH(NOW()))
GROUP BY CAST(MONTH(stat_date) AS CHAR) GROUP BY的条件要和SELECT中的一致,不然就会报错的!!!
长点心吧!!!
本文通过一个具体的SQL语句案例,详细介绍了在进行数据查询时如何正确使用GROUP BY子句,避免因GROUP BY与SELECT字段不一致导致的错误。
4万+

被折叠的 条评论
为什么被折叠?



