加入两个表,然后分组

时间:2012-03-27 22:26:02

标签: mysql sql join count

我在MySql数据库中有两个表:

COUNTRY
---------------
id, 
country_name

CITY 
---------------
c_id, 
city_name, 
id

国家/地区是城市的父表:country.id = city.id

我想显示以下内容:

Country_name   count of cities 
------------------------------
USA            333  
UAE            293  
....  

*如果country为null或city为null,则显示全部。

1 个答案:

答案 0 :(得分:1)

SELECT
    cn.country_name,
    COUNT(DISTINCT c.c_id) AS count_of_cities
FROM
    COUNTRY cn LEFT JOIN
    CITY c ON c.id = cn.id
GROUP BY cn.country_name