首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql将创建的一列与创建的另一列的总和相除

Mysql将创建的一列与创建的另一列的总和相除
EN

Stack Overflow用户
提问于 2018-09-21 03:28:03
回答 2查看 992关注 0票数 0

我有一张表,上面有一堆资产的日期,

我是:

1.-按日期选择和分组<-完成

2.-计算给定日期别名中的所有资产:count_by_date <- complete

3.-获取将收到资产的总人数,并将该数字除以每天的资产数量,别名:end_result <-这是我遇到的问题。

代码语言:javascript
复制
SELECT 
dates, 
COUNT(*) AS `count_by_date`,
SUM(`amount_of_people`) / `count_by_date` AS `end_result`
FROM example_table
GROUP BY dates;

这有可能吗?

如果是,这是如何工作的?

我特别标出了select中我遇到问题的部分,以及哪些部分已经完成并且工作正常。

EN

回答 2

Stack Overflow用户

发布于 2018-09-21 03:41:44

select中不能使用别名列名,必须重复编码

代码语言:javascript
复制
    SELECT 
    dates, COUNT(*) AS count_by_date
    , SUM(b) / COUNT(*) AS average 
    FROM example_table
    GROUP BY dates;

数据库引擎在对select子句求值后解析别名,因此在求值期间,select子句不知道列名的别名

票数 1
EN

Stack Overflow用户

发布于 2018-09-21 03:51:20

另一种方法是,如果要使用列的别名执行计算,则可以使用别名表。

例如:

代码语言:javascript
复制
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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52432000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档