取1-12个月每个月mounthStaffSer列段最大的十条数据sqlserver

1694843740514.png

SQL yzmiFMhw3943802 发布于 2023-9-16 13:55
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
梦似幻亦真Lv3见习互助
发布于2023-9-20 17:03

image.png

ROW_NUMBER() over(partition BY 分组字段1,分组字段2 order by 排序字段 DESC)

主要借助函数搞定

最佳回答
0
LazySheepLv7高级互助
发布于2024-5-30 13:16
WITH RankedData AS (       SELECT           DATEPART(MONTH, YourDateColumn) AS MonthNumber,           mounthStaffSer,           ROW_NUMBER() OVER (PARTITION BY DATEPART(MONTH, YourDateColumn) ORDER BY mounthStaffSer DESC) AS rn       FROM           YourTableName       WHERE           -- 这里可以添加年份或其他筛选条件,如果需要的话           YourDateColumn BETWEEN '2023-01-01' AND '2023-12-31'  -- 假设你要查询2023年的数据   )   SELECT       MonthNumber,       mounthStaffSer   FROM       RankedData   WHERE       rn <= 10  -- 选择每个月最大的10条数据   ORDER BY       MonthNumber,  -- 按月份排序       mounthStaffSer DESC;  -- 如果需要,可以按mounthStaffSer降序排序

  • 3关注人数
  • 233浏览人数
  • 最后回答于:2024-5-30 13:16
    请选择关闭问题的原因
    确定 取消
    返回顶部