📅  最后修改于: 2023-12-03 15:05:19.117000             🧑  作者: Mango
SQL 中的百分比查询是常见的一种数据分析需求,可以用于统计具有某些特定属性的记录在总记录中所占的比例。
下面是 SQL 中使用百分比查询的基本语法:
SELECT
(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER ()) AS percentage,
column1, column2, ...
FROM
table_name
GROUP BY
column1, column2, ...
其中,COUNT(*)
表示统计的总数量,SUM(COUNT(*)) OVER ()
表示对总数量进行求和,percentage
表示计算出来的百分比,column1
, column2
, ... 是需要分组的列名。
下面是一个示例,假设我们有一个 orders
表,其中包含订单的信息,我们要计算各个国家的订单量所占的百分比:
SELECT
(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER ()) AS percentage,
country
FROM
orders
GROUP BY
country
运行以上 SQL 语句后,会得到下面的结果:
| percentage | country | |------------|---------| | 46.67 | USA | | 33.33 | UK | | 20.00 | Canada |
以上结果表示美国的订单量占总订单量的 46.67%,英国的订单量占总订单量的 33.33%,加拿大的订单量占总订单量的 20.00%。
SUM(COUNT(*)) OVER ()
对总记录数进行汇总,否则计算出来的百分比可能不准确GROUP BY
子句中