小编Pau*_*enn的帖子

SQL聚合函数别名

我是SQL的初学者,这是我被要求解决的问题:

说一个大城市被定义为一个place类型的city具有至少10万人口.编写一个返回(state_name,no_big_city,big_city_population)订购方案的SQL查询state_name,列出那些拥有(a)至少五个大城市或(b)至少一百万人居住在大城市的州.列state_namenamestate,no_big_city是在国家大城市的数量,并且big_city_population为生活在该州大城市的人数.

现在,据我所知,以下查询返回正确的结果:

SELECT state.name AS state_name
     , COUNT(CASE WHEN place.type = 'city' AND place.population >= 100000 THEN 1 ELSE NULL END) AS no_big_city
     , SUM(CASE WHEN place.type = 'city' AND place.population >= 100000 THEN place.population ELSE NULL END) AS big_city_population
FROM state
JOIN place
ON state.code = place.state_code
GROUP BY state_name
    HAVING
        COUNT(CASE WHEN place.type = 'city' AND place.population >= 100000 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql case aggregate-functions having

5
推荐指数
1
解决办法
1160
查看次数

标签 统计

aggregate-functions ×1

case ×1

having ×1

postgresql ×1

sql ×1