我有一个表格,其中按日期列出了一堆 Assets ,
我是:
1.- 按日期选择和分组 <- 完成
2.- 计算给定日期别名中的所有 Assets :count_by_date
<- 完整
3.- 获取将接收 Assets 的总人数,并将该数字除以每个日期的 Assets 数量,别名:end_result
<- 这是我遇到的问题。
SELECT
dates,
COUNT(*) AS `count_by_date`,
SUM(`amount_of_people`) / `count_by_date` AS `end_result`
FROM example_table
GROUP BY dates;
这可能吗?
如果是的话,这怎么行?
我特别标记了我在选择中遇到问题的部分以及已完成且工作正常的部分。
最佳答案
您不能在选择中使用别名列名称,您必须重复代码
SELECT
dates, COUNT(*) AS count_by_date
, SUM(b) / COUNT(*) AS average
FROM example_table
GROUP BY dates;
数据库引擎在评估 select 子句后解析别名,因此在评估期间 select 子句不知道列名的别名
关于Mysql将正在创建的一列的总和除以正在创建的另一列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52432000/