我希望生成一个结果或创建一个基于计算一个查询/另一个查询的百分比的视图。
这些是查询:
查询1:
SELECT
count(distinct email), Utility
from elec_cust
where email != 'NULL' and MAILLIST = '1'
GROUP BY Utility
ORDER BY count(distinct email)
和 QUERY2:
SELECT
count(distinct email), Utility
from elec_cust
where email != 'NULL' and MAILLIST = '0'
GROUP BY Utility
ORDER BY count(distinct email)
我希望以百分比形式生成Query2 / Query1的结果:
实用程序|百分比
答案 0 :(得分:2)
您可以使用条件聚合来完成:
SELECT COUNT(DISTINCT CASE WHEN MAILLIST = '1' THEN email END) as Query_1_result,
COUNT(DISTINCT CASE WHEN MAILLIST = '0' THEN email END) as Query_2_result,
COUNT(DISTINCT CASE WHEN MAILLIST = '1' THEN email END)/COUNT(DISTINCT CASE WHEN MAILLIST = '0' THEN email END)*100 AS Perc_Col ,
Utility
from elec_cust
where email != 'NULL'
GROUP BY Utility
MySQL将1
之类的布尔表达式视为true,将0
视为false。因此,这将总结MAILLIST = '1'
并将其除以MAILLIST = '0'
您可以删除前两列,我已添加它们以方便您使用。