3
A
回答
2
类似的问题:
Why does MySQL allow "group by" queries WITHOUT aggregate functions?
这是MySQL特定的,而不是ANSI标准SQL。大多数其他数据库引擎不允许在其上未被分组或正在通过聚合函数运行的列。
看来MySQL保留了与条件匹配的第一行的值。
具有此行为的聚合函数是FIRST(),虽然MySQL实现它,但这似乎是未分组的列的默认行为,并且哪些未通过任何其他聚合函数运行。
在ANSI标准SQL,你会怎么做:
SELECT FIRST(jobtitle), company FROM jobs GROUP BY company;
而在MySQL中,你可以只(但是ANSI标准的工作只是藏汉):
SELECT jobtitle, company FROM jobs GROUP BY company;
相关问题
- 1. 在GROUP BY子句中返回空行
- 2. 子查询在group by子句中返回多于一行 - MySQL
- 3. GROUP BY子句中的MySQL
- 4. mysql如果在group by子句中
- 5. 如何解决我的GROUP BY子句
- 6. MySQL GROUP BY和HAVING子句
- 7. MYSQL GROUP BY和WHERE子句
- 8. MySQL Group By If子句
- 9. ORDER BY在GROUP BY子句
- 10. MySQL GROUP BY:如何返回多行?
- 11. 从Select子语句中返回特定Group By条件
- 12. 在MySQL GROUP BY子句中放置哪些列
- 13. 如何GROUP BY由CASE语句返回的子查询值
- 14. 在SQL Server中使用GROUP BY子句返回两行08
- 15. MySQL GROUP BY HAVING没有任何返回
- 16. GROUP BY子句不
- 17. 返回零为不存在MYSQL GROUP BY
- 18. 如何在group by子句中使用LIKE关键字。 MYSQL
- 19. group by子句where where子句应该在sqlserver中返回零计数
- 20. MYSQL:COUNT与GROUP BY,LEFT JOIN和WHERE子句不返回零个值
- 21. X ++中的group by子句
- 22. LINQ中的group by子句
- 23. GROUP BY在UPDATE FROM子句
- 24. 准备PHP SQL语句没有GROUP返回false BY子句
- 25. MySQL - 如何为每个GROUP BY集返回多个结果?
- 26. MySQL错误1064(v 5.0.96)GROUP BY子句
- 27. MySQL的GROUP BY子句验证
- 28. 如何在MySQL GROUP BY中返回DATE的第一条记录?
- 29. 子查询Group By子句
- 30. 指定哪些记录从一组返回BY子句
FWIW,SQLite的也支持这种非标准group-by的行为,但SQLite返回组中最后一个*匹配行的值。 – 2009-09-20 15:51:19
这个答案是错误的:MySql不支持FIRST关键字(http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html)。此外,选择随机匹配值 - 不一定是组中出现的第一行中的值。 – 2011-03-13 22:35:53