为什么 GROUP BY 取(返回)分组行中的第一行? 是否有内置的 DESC 或 ASC 排序?
最佳答案
MySQL 扩展了 GROUP BY 的使用,以便选择列表可以引用未在 GROUP BY 子句中命名的非聚合列。这意味着前面的查询在MySQL中是合法的。您可以使用此功能避免不必要的列排序和分组,从而获得更好的性能。然而,这主要是当每个组中未在 GROUP BY 中命名的每个非聚合列中的所有值对于每个组都相同时非常有用。 服务器可以自由地从每个组中选择任何值,因此除非它们相同,否则所选择的值是不确定的。 此外,添加 ORDER BY 子句不会影响每个组中值的选择。选择值后会对结果集进行排序,ORDER BY 不会影响服务器选择每个组中的哪些值。
http://dev.mysql.com/doc/refman/5.0/en/group-by-handling.html
关于mysql - 为什么 "GROUP BY"取分组行中的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26527627/