SQL使用GROUP BY或DISTINCT来获取第一个记录

时间:2013-11-27 01:31:26

标签: sql sql-server sql-server-2005

我有一张这样的表:

group        id
1            10
1            11
1            12
2            13
3            14

我想收回每个组的第一条记录,所以我的表应该返回这样的内容:

group        id
1            10
2            13
3            14

在SQL中执行此操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

这应该足够了:

SELECT group, min(id) id FROM table
GROUP BY group

考虑到“第一”这是考虑最小数量。

答案 1 :(得分:-1)

分组依据只会返回每组的第一行。所以分组就足够了

SELECT * FROM `your_table`
GROUP BY group

sql fiddle http://sqlfiddle.com/#!2/2673c/3