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

如何统计并排序每个name关联的不同category数量?

统计并排序字段关联列的不同值数量

要实现统计每个name对应的不同category数量并排序的需求,你可以使用COUNT(DISTINCT)函数配合GROUP BY和ORDER BY子句完成,具体操作如下:

核心查询语句

SELECT name, COUNT(DISTINCT category) AS distinct_category_count
FROM mytable
GROUP BY name
ORDER BY distinct_category_count DESC, name;

语句说明

  • COUNT(DISTINCT category):统计每个name对应的不重复category数量,能直接得到像client_1同时属于gold和silver两个类别的结果。
  • GROUP BY name:按name分组,确保每个name仅返回一行统计数据。
  • ORDER BY distinct_category_count DESC, name:先按不同类别数量降序排序,数量相同时按name排序,可根据实际需求调整排序规则。

示例数据

CREATE TABLE mytable(
   name     VARCHAR(8) NOT NULL 
  ,category VARCHAR(6) NOT NULL
);
INSERT INTO mytable(name,category) VALUES ('client_1','gold');
INSERT INTO mytable(name,category) VALUES ('client_1','gold');
INSERT INTO mytable(name,category) VALUES ('client_1','silver');
INSERT INTO mytable(name,category) VALUES ('client_2','silver');
INSERT INTO mytable(name,category) VALUES ('client_3','gold');
INSERT INTO mytable(name,category) VALUES ('client_3','gold');
INSERT INTO mytable(name,category) VALUES ('client_3','gold');
INSERT INTO mytable(name,category) VALUES ('client_4','gold');

查询结果

执行核心查询后,会得到如下结果:

namedistinct_category_count
client_12
client_21
client_31
client_41

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:27:22