【发布时间】:2020-05-15 18:38:00
【问题描述】:
您能否建议将多项选择和计数组合到一个查询中的最佳方式
例如,这里有一些来自 test_table 的查询,它们可以自己完美运行
SELECT name, count(*) AS 'Overall' FROM test_test WHERE country_prefix = '44' AND area_code = '203' GROUP BY `city_name`;
SELECT name, count(*) AS 'unallocated' FROM test_tab le WHERE country_prefix = '44' AND area_code = '203' AND removed != '1' AND destination-value = '1234' GROUP BY `city_name`;
我将运行更多查询,但我认为如果我让两个人一起工作,我就可以完成剩下的工作了
我在想这样的事情:
SELECT name, (SELECT count(*) FROM test_table WHERE country_prefix = '44' AND area_code = '203' GROUP BY `city_name') AS "Overall", (SELECT count(*) AS 'unallocated' FROM test_table WHERE country_prefix = '44' AND city_code = '203' AND removed != '1' AND destination-value = '1234' GROUP BY 'city_name')
但不幸的是不起作用
最好的方法是使用 sum case,像这样:
sum(case when destination-value = '1234' then 1 else 0 end) AS unallocated
【问题讨论】:
-
大家有什么想法吗?