博客
关于我
SQL必知必会 第10课 分组数据
阅读量:179 次
发布时间:2019-02-28

本文共 694 字,大约阅读时间需要 2 分钟。

数据分组与过滤

在数据分析中,合理的分组和过滤是提升效率的关键步骤。以下是关于SQL分组的详细指导。

10.2 创建分组

GROUP BY子句用于将数据按指定字段分组。以下示例展示了如何按vend_id分组并计算每个供应商的产品数量:

select vend_id, count(*) as num_prodsfrom productsgroup by vend_id;

10.3 过滤分组

对于分组后的数据,HAVING子句用于进行组级过滤。要过滤出订单数超过2的客户,可以使用以下查询:

select cust_id, count(*) as ordersfrom ordersgroup by cust_idhaving count(*) >= 2;

10.4 分组与排序

GROUP BY和ORDER BY的主要区别在于作用时间和排序方式。

特性 GROUP BY ORDER BY
作用 分组数据 排序输出
可用字段 只能使用选择列或表达式 可以使用任何字段
是否需要 不需要 可选

在使用GROUP BY时,建议配合ORDER BY子句使用,以确保输出的数据按指定顺序排列。

10.5 SELECT子句顺序

SELECT子句中的子句顺序不影响结果,但理解每个子句的作用对写出高效查询至关重要。

子句 说明 是否必须使用
SELECT 返回的列或表达式
FROM 数据源表 仅在选择数据时使用
WHERE 行级过滤
GROUP BY 分组说明 仅在需要聚集时使用
HAVING 组级过滤
ORDER BY 排序 可选

通过合理配置这些子句,可以高效地组织和分析数据。

转载地址:http://jgpn.baihongyu.com/

你可能感兴趣的文章
quagga 和 zebos
查看>>
poj 1286 Necklace of Beads
查看>>
POJ 1321 棋盘问题
查看>>
poj 1321(回溯)
查看>>
Qt高级——Qt元对象系统源码解析
查看>>
qt调用vs2008编写的dll动态库(隐式调用)
查看>>
Qt读取注册表默认值
查看>>
poj 1679 判断MST是不是唯一的 (次小生成树)
查看>>
POJ 1703 Find them, Catch them
查看>>
POJ 1703 Find them, Catch them 并查集
查看>>
POJ 1738 An old Stone Game(石子合并)
查看>>
POJ 1740 A New Stone Game(博弈)题解
查看>>
Qt网络编程之实例二POST方式
查看>>
POJ 1765 November Rain
查看>>
poj 1860 Currency Exchange
查看>>
POJ 1961 Period
查看>>
POJ 2019 Cornfields (二维RMQ)
查看>>
poj 2057 The Lost House 贪心思想在动态规划上的应用
查看>>
poj 2057 树形DP,数学期望
查看>>
poj 2112 最优挤奶方案
查看>>