You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为该查询编写正确的PARTITION BY子句实现分组统计排序

正确SQL写法:按Item分组统计各DC对应的Club数量

原始数据

item     club    dc     
1         2      100
1         3      100
1         4      200
1         5      200
1         6      200
1         7      300

2         3      100
2         4      200
2         5      200
2         6      200

需求说明

按item分组,统计每个item下各dc对应的club数量,最终结果需按item分组、club_count降序排序,预期结果如下:

item     dc   club_count
    1    200   3
    1    100   2
    1    300   1
    2    200   3
    2    100   1

问题分析

你尝试的语句select item,dc, count(dc) over(partition by dc) from table未得到正确结果,原因是窗口函数仅按dc分区,没有关联item,无法实现按item分组统计的需求,且此处无需使用窗口函数,直接通过分组聚合即可达成目标。

正确SQL语句

SELECT 
    item,
    dc,
    COUNT(club) AS club_count
FROM 
    your_table_name
GROUP BY 
    item, dc
ORDER BY 
    item, club_count DESC;

语句说明

  • GROUP BY item, dc:同时按item和dc进行分组,确保统计的是每个item下不同dc对应的club数量
  • COUNT(club):统计每组内的club记录数,得到对应dc的club数量
  • ORDER BY item, club_count DESC:先按item排序,同一item下按club_count降序排列,匹配预期结果的排序要求

内容的提问来源于stack exchange,提问作者PAMPA ROY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:47:45