MySQL自然而然地选择哪一行"选择"在做GROUP BY时?

时间:2014-09-18 16:14:25

标签: mysql sql

MySQL如何决定在分组时使用哪一行值?

id |  type |     timestamp
-------------------------------
1  |   3   | 2014-09-10 17:03:43
2  |   7   | 2014-09-10 17:15:00
3  |   18  | 2014-09-10 17:17:55
4  |   9   | 2014-09-10 18:01:30
5  |   18  | 2014-09-10 18:02:29
6  |   3   | 2014-09-10 18:06:26
7  |   3   | 2014-09-10 18:06:30

例如:

SELECT * FROM mytable GROUP BY type

这涉及时间戳的含义。

是否使用第一个,最后一个,通过内部工作确定的东西?

1 个答案:

答案 0 :(得分:3)

如果没有MIN,MAX,SUM以外的列的聚合函数(GROUP BY等),mysql将返回 indeterminate 值。在其他数据库中,甚至不允许这样做。

  

服务器可以自由选择每个组中的任何值,因此除非他们   如果相同,选择的值为indeterminate

但是,您可以启用ONLY FULL GROUP BY模式。