【发布时间】:2016-08-02 14:52:09
【问题描述】:
在尝试将 MySQL 查询转换为 MsSql 查询时遇到麻烦。
错误表明:
选择列表中的“books.id”列无效,因为它不是 包含在聚合函数或 GROUP BY 子句中。
这段代码很烂。
SELECT * FROM books group by books.category_id
供参考 sqlfiddle.com/#!3/4ed19/22
提前致谢!!
【问题讨论】:
-
一般 GROUP BY 规则说:“如果指定了 GROUP BY 子句,则 SELECT 列表中的每个列引用必须标识一个分组列或作为集合函数的参数。”
-
MySQL 只是简单地返回一个随机行,您会注意到每个其他 DBMS 都会返回类似的错误消息。您必须决定要返回哪个行。欢迎来到真正的 SQL 的世界 :)
-
@jarlh 请将此作为参考 sqlfiddle.com/#!3/4ed19/22
-
SQLfiddle 没有回答...
-
@cerd:我喜欢 MySQL 终于切换到标准 SQL,但我敢打赌,大多数安装将切换回旧行为 不会破坏现有代码 :)