数据库中的“聚类查询”通常有两种理解方向:聚合查询(Aggregation Query) 和 基于聚类算法的数据分析。以下是两种场景的实践要点与技术解析:
🔢 一、聚合查询(SQL原生支持)
核心目标:数据汇总统计(如计数、求和、平均值等)。
关键技术组件:
-
聚合函数
COUNT():统计行数(含COUNT(*)计数所有行,COUNT(column)忽略NULL)。SUM()/AVG():计算总和与平均值(仅适用于数值类型)。MAX()/MIN():提取极值。
-
分组机制(
GROUP BY)- 按指定字段分组统计(如按部门统计平均薪资):
SELECT department, AVG(salary) FROM employees GROUP BY department; - 多级分组:
GROUP BY col1, col2(按字段顺序分层聚合)。
- 按指定字段分组统计(如按部门统计平均薪资):
-
过滤分组结果(
HAVING)- 对聚合结果二次筛选(如筛选平均薪资>10k的部门):
SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 10000; - ⚠️ 与
WHERE区别:WHERE在分组前过滤原始数据,HAVING在分组后过滤聚合结果。
- 对聚合结果二次筛选(如筛选平均薪资>10k的部门):
执行流程:
FROM → WHERE → GROUP BY → 聚合计算 → HAVING → SELECT → ORDER BY。
适用场景:业务报表、数据摘要(如销售总额统计、用户活跃度分析)。
🧠 二、基于聚类算法的数据分析
核心目标:发现数据内在分组模式(如用户分群、异常检测)。
数据库预处理 + 外部算法执行:
-
SQL预处理步骤:
- 特征选择:提取数值型字段作为聚类输入(如用户消费频率、金额)。
- 数据聚合:生成聚类所需特征向量(如用户行为统计):
SELECT use

最低0.47元/天 解锁文章
391

被折叠的 条评论
为什么被折叠?



