有一些关于它的帖子,但是我无法使其正常工作... 我只想为每个ID选择一行,类似于在Oracle分区中但可以访问的row_number()之类的东西。
ty
SELECT a.*
FROM DATA as a
WHERE a.a_sku = (SELECT top 1 b.a_sku
FROM DATA as b
WHERE a.a_sku = b.a_sku)
但是我得到了相同的表数据
表DATA的示例 https://ibb.co/X4492fY
答案 0 :(得分:0)
您应该在下面的查询中尝试-
SELECT a.*
FROM DATA as a
WHERE a.Active = (SELECT b.Active
FROM DATA as b
WHERE a.a_sku = b.a_sku
AND a.Active < b.Active)
答案 1 :(得分:0)
如果您不在乎返回具有匹配a_sku
值的每组记录中的哪条记录,则可以使用First
或Last
函数,例如:
select t.a_sku, first(t.field2), first(t.field3), ..., first(t.fieldN)
from data t
group by t.a_sku