繁体   English   中英

如何计算 sql 中的这个百分比?

[英]How to calculate this percentage in sql?

我有两个查询:

SELECT SUM(column1) AS Result_All FROM table;
SELECT SUM(column1) AS Result_Something FROM table WHERE column2 LIKE '%something%';

第一个给出第 1 列的总和。
假设结果是 10.000。

第二个给出第 1 列的总和,其中第 2 列是 %something%。
假设结果是 2.000。

如何将这两个查询变为 1 并计算 query2 与 query1 的百分比? 如果两个结果是 10.000 和 2.000,则百分比应为 20%。

编辑:我不需要'AS',我只是写信来帮助它。

最简单的方法是条件聚合:

SELECT SUM(CASE WHEN column2 LIKE '%something%' THEN column1 END) / SUM(column1) AS ratio
FROM table;

如果你想要一个介于 0 和 100 之间而不是 0 和 1 之间的数字,你可以乘以 100。就个人而言,我更喜欢一个比率。

您可以进行条件聚合:

select sum(case when column2 like '%something%' then column1 end) / sum(column1) ratio
from mytable

这给你一个从01的十进制数,如果你想要一个百分比,你可以乘以100

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM