【发布时间】:2022-11-24 03:43:12
【问题描述】:
我有以下 SQL 查询:
SELECT `NeighbourhoodName`,
count(NAME) as `Number of Parks`,
sum(CASE
WHEN `parks`.`Advisories` = 'Y' THEN 1
ELSE 0
END) as Advisories,
FROM parks
GROUP BY `NeighbourhoodName`;
在代码的第二行,我创建了一个名为“Number of Parks”的列。我希望下一列(建议)中的所有值除以“公园数量”中的值。但是,当我尝试像这样在列之后插入除法语句时:
SELECT `NeighbourhoodName`,
count(NAME) as `Number of Parks`,
sum(CASE
WHEN `parks`.`Advisories` = 'Y' THEN 1
ELSE 0
END)/`Number of Parks` as Advisories
FROM parks
GROUP BY `NeighbourhoodName`;
我收到以下错误:
Unknown column, `Number of Parks` in field list.
如何在执行此除法的同时仍将其保留在一个查询中?
【问题讨论】:
-
您不能在同一个 select 语句中使用您用来命名字段的别名,要么将其设为子查询,要么只是在分区中重复计数。
-
我不能在除法中重复计数,因为除法需要在 groupby 语句之后完成
标签: mysql sql database datatable mysql-workbench