我在数据集合中获取组中的第一行数据时遇到问题。目前我正在使用Sybase作为我的数据源。
我也使用了以下查询但没有工作。
SELECT Id, Product, RANK() OVER (PARTITION BY Id ORDER BY Id) FROM ProductTbl
SELECT Id, Product FROM ProductTbl as X
WHERE Id = (
SELECT min(Id)
FROM ProductTbl WHERE Id = X.Id
)
以下示例是我正在处理的数据。
Id Product
1111 Apple
1111 Orange
1111 Banana
2222 Guava
2222 JackFruit
2222 Grape
3333 ProductA
3333 ProductB
我的预期输出应为
Id Product
1111 Apple
2222 Guava
3333 ProductA
答案 0 :(得分:1)
为什么不:
SELECT Id, MIN(Product) FROM ProductTbl GROUP BY Id
我误解了吗?
答案 1 :(得分:0)
select Id,Product from(
SELECT
Id,
Product,
RANK() OVER (PARTITION BY Id ORDER BY Product) as first_row
FROM ProductTbl group by Id,Product)x
where first_row = 1
输出:
Id Product
1111,Apple
2222,Grape
3333,ProductA
R来自U,所以它不能是番石榴。