【问题标题】:SQL Error [42703]: ERROR: column "percent_population_infected" does not existSQL 错误 [42703]:错误:列“percent_population_infected”不存在
【发布时间】:2021-09-22 06:22:02
【问题描述】:

当我尝试从查询中排除空值时,我无法理解弹出的此错误。谢谢!

/* Looking at countries with Highest Infection Rate compared to Population */

SELECT LOCATION, population,
       MAX(total_cases) AS highest_infection_count,
       MAX((total_cases/population))*100 AS percent_population_infected
FROM public.Covid_deaths
WHERE percent_population_infected IS NOT NULL 
GROUP BY LOCATION, population
ORDER BY percent_population_infected DESC;

SQL Error [42703]: ERROR: column "percent_population_infected" does not exist

【问题讨论】:

  • 别名 (percent_population_infected) 不能在 WHERE 子句中使用。

标签: sql postgresql dbeaver


【解决方案1】:

人口感染百分比的限制别名不属于WHERE子句,它属于HAVING子句。另外,我认为您只想断言给定位置的 Covid 病例数不为零。把所有这些放在一起:

SELECT
    LOCATION,
    population,
    MAX(total_cases) AS highest_infection_count,
    MAX(total_cases / population)*100 AS percent_population_infected
FROM public.Covid_deaths
GROUP BY LOCATION, population
HAVING MAX(total_cases) > 0
ORDER BY percent_population_infected DESC;

【讨论】:

    猜你喜欢
    • 2019-07-28
    • 2022-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 2012-04-18
    相关资源
    最近更新 更多