SQL查询报错:派生表需别名,求各州医院总数之和
解决SQL派生表别名错误并实现各州医院数量总和计算
错误原因
报错Every derived table must have its own alias的核心问题是:你在FROM子句中使用的子查询(临时派生表)没有指定别名,SQL引擎需要给这个临时数据集一个标识才能正常处理后续聚合操作。
修正后的查询语句
给子查询添加合法别名(示例用t,可替换为任意合规名称),即可解决错误:
#Total No of hospitals from each state (summed) SELECT SUM(num_of_hosp) AS total_hospitals FROM ( SELECT COUNT(DISTINCT hospital) AS num_of_hosp FROM project.dataset WHERE score != 'not available' GROUP BY state ) AS t;
优化方案
你的需求是计算各州医院数量的总和,本质等同于统计所有符合条件的去重后医院总数,可简化为单表查询,避免嵌套提升执行效率:
SELECT COUNT(DISTINCT hospital) AS total_hospitals FROM project.dataset WHERE score != 'not available';
内容的提问来源于stack exchange,提问作者Shruti Patkar
相关产品推荐
相关产品推荐

