我有一个查询(SELECT tbl.id, tbl.data FROM tbl WHERE ...
),它会返回如下数据:
1 | c
1 | b
1 | a
2 | f
2 | e
2 | g
3 | z
3 | i
我希望查询这些结果以返回每个id的第一个条目:
1 | c
2 | f
3 | z
我会写这个查询吗?
编辑:抱歉,我已经提炼了这个问题 - 现在应该很清楚了。
答案 0 :(得分:0)
SELECT tbla.id ,MIN(tbl.data) FROM tbla GROUP BY tbla.id
答案 1 :(得分:0)
SELECT DISTINCT tbl.id, tbl.data FROM tbl WHERE x=y
答案 2 :(得分:0)
我们可以按id对数据进行分区,并从该组中获取每个id的一个数据值。
SELECT id, data
FROM
( SELECT id,
data,
ROW_NUMBER() OVER (PARTITION BY id order by data) as seq
FROM tableA
) T
where T.seq =1