我有一个查询(SELECT tbl.id, tbl.data FROM tbl WHERE ...
)返回这样的数据:选择第一行每个ID
1 | c
1 | b
1 | a
2 | f
2 | e
2 | g
3 | z
3 | i
我希望有查询这些结果返回每个ID的第一项:
1 | c
2 | f
3 | z
我会写这个查询吗?
编辑:对不起,我已经完善了这个问题 - 现在应该清楚了。
我有一个查询(SELECT tbl.id, tbl.data FROM tbl WHERE ...
)返回这样的数据:选择第一行每个ID
1 | c
1 | b
1 | a
2 | f
2 | e
2 | g
3 | z
3 | i
我希望有查询这些结果返回每个ID的第一项:
1 | c
2 | f
3 | z
我会写这个查询吗?
编辑:对不起,我已经完善了这个问题 - 现在应该清楚了。
SELECT DISTINCT tbl.id, tbl.data FROM tbl WHERE x=y
对不起,我的问题措辞不太好,我改了它 – Cheetah 2014-09-19 15:01:38
。 。对问题的“细化”已使第一版本的答案无效。在(正确)答案发布之后更改问题并不好。 – 2014-09-19 15:01:49
你如何定义“第一”?一般而言,您需要为元素提供某种顺序,否则它们可以以系统选择返回的顺序返回 – 2014-09-19 15:02:51
@GordonLinoff - 不确定我是否同意这一点,我的问题是第一行...没有任何事情可做与数据...答案都是使用聚合函数,因为他们根据数据做出了假设。 – Cheetah 2014-09-19 15:03:50