我有一张表,上面有一堆资产的日期,
我是:
1.-按日期选择和分组<-完成
2.-计算给定日期别名中的所有资产:count_by_date <- complete
3.-获取将收到资产的总人数,并将该数字除以每天的资产数量,别名: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中我遇到问题的部分,以及哪些部分已经完成并且工作正常。
发布于 2018-09-21 03:41:44
select中不能使用别名列名,必须重复编码
SELECT
dates, COUNT(*) AS count_by_date
, SUM(b) / COUNT(*) AS average
FROM example_table
GROUP BY dates;数据库引擎在对select子句求值后解析别名,因此在求值期间,select子句不知道列名的别名
发布于 2018-09-21 03:51:20
另一种方法是,如果要使用列的别名执行计算,则可以使用别名表。
例如:
SELECT t.dates, t.total/t.count_by_date AS avg
FROM
(SELECT dates,COUNT(*) AS count_by_date,SUM(b) AS total
FROM
example_table b
GROUP BY dates )
AS t;https://stackoverflow.com/questions/52432000
复制相似问题