我需要比较所有区域并显示关于得分的更好区域。例如,如果我想看亚洲的分数比较;我只会看到关于得分的更好区域。 (更好的地区:北美,欧洲)
select
Destination_Region,
count(1) as Score
from pro11
where
Destination_Region is not null
group by
Destination_Region
order by
Score DESC;
查询结果:
Europe 1069737
North America 218302
Asia 140452
Middle East 70899
Africa 33901
Oceania 28701
South America 24815
Caribbeans 16550
所以,如果我想看到非洲的比较结果;我应该看到中东,亚洲,北美,欧洲。我将使查询动态化,您可以选择一个区域并使用它。
谢谢!
答案 0 :(得分:0)
使用HAVING
子句检查它:
select
Destination_Region,
count(*) as Score
from pro11
where
Destination_Region is not null
group by
Destination_Region
having Score>(SELECT COUNT(*) FROM pro11 WHERE Destination_Region = 'Africa' GROUP BY Destination_Region)
order by Score DESC;
SQL Fiddle中的示例结果。