Sql Server去重查询重复项的第一条数据

其他环境
¥10.00

工作中碰到一个需求,就是统计用户手中持有的每种类型的优惠券的数量。因为有效期和来源均不相同,同样的优惠券每一张在数据库中都是单独的一条数据。怎么才能统计出用户都持有那些优惠券,并且各种类型的优惠券的数量呢。 我想到的就是先去重,然后查找每一类优惠券的第一条数据,再做个子查询统计这种优惠券的数量。

最佳答案

可以这样写:

select s.*  

from ( 

    select *, row_number() over (partition by [分组字段] order by [排序字段]) as group_idx  

    from table_name

) s

where s.group_idx = 1

nickyyao T0 被采纳率25%
2020-07-14 18:03
打赏 0 0
页面统计
422 访问
0 帮助
0.00 打赏

hierror 2019 © hierror.com 京ICP备13026190号-1

通知消息
  • 暂无任何消息