2013-04-12 130 views
1

工作,我有列的表格: 人口,州,縣SQL查詢,與MAX

我想找到縣,每個國家最大的人口。我也只想打印該縣的名稱和該縣的最大人口。

我怎麼能做出這樣的查詢?

+0

sqlite3,抱歉沒有指定 – user209306

回答

1

您應該能夠使用子查詢,以獲得最大的人口每個狀態,然後使用該結果來確定縣:

select t1.county, 
    t1.population 
from yourtable t1 
inner join 
(
    select max(population) MaxPop, state 
    from yourtable 
    group by state 
) t2 
    on t1.population = t2.maxpop 
    and t1.state = t2.state; 

SQL Fiddle with Demo

1

您可以使用嵌套做使用EXISTS查詢:

SELECT m1.county, m1.population 
FROM mytable m1 
WHERE NOT EXISTS (
    SELECT 1 -- No other county in the state has more people 
    FROM mytable m2 
    WHERE m1.state=m2.state 
     AND m2.population > m1.population 
) 

如果一個國家多個區縣有相同的​​,縣將退回。

+0

從來沒有想過可以這樣做。太好了! –