sql - 获取每个 ID 的前 1 行
问题描述
有一些关于它的帖子,但我无法让它工作......我只想为每个 ID 选择一行,例如在 oracle 中的分区上的 row_number() 但在访问中。
泰
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)
但我从中得到相同的表数据
表数据示例 https://ibb.co/X4492fY
解决方案
如果您不关心返回每组记录中具有匹配a_sku
值的哪条记录,则可以使用First
orLast
函数,例如:
select t.a_sku, first(t.field2), first(t.field3), ..., first(t.fieldN)
from data t
group by t.a_sku
推荐阅读
- javascript - Javascript 将 mouseup 事件添加到图表并使用它而不是 '3' 键
- javascript - Promise.allSettled 不是开玩笑测试中的函数,如何模拟?
- css - 使用 Bootstrap Grid,为什么我的 Div 不能留出空间?
- android - Android 架构组件和协程
- angular - 有没有办法在我自己的自定义库中包含一个库,例如 Angular Material?
- c# - 使用 TryGetComponent 返回子级
- aws-lambda - 带有 ADFS 的 AWS Cognito:颁发者与 providerName 不匹配
- c - cl x64: unsigned long outside / inside union: error C2099: initializer is not a constant / NO error
- python - 将一些行旋转到 DataFrame 中的新列
- c# - .NET Core WebAPI / Angular 项目 - 预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段内容类型