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
这涉及时间戳的含义。
是否使用第一个,最后一个,通过内部工作确定的东西?
答案 0 :(得分:3)
如果没有MIN,MAX,SUM
以外的列的聚合函数(GROUP BY
等),mysql将返回 indeterminate 值。在其他数据库中,甚至不允许这样做。
服务器可以自由选择每个组中的任何值,因此除非他们 如果相同,选择的值为indeterminate
但是,您可以启用ONLY FULL GROUP BY模式。