[英]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
这给你一个从0
到1
的十进制数,如果你想要一个百分比,你可以乘以100
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.