mysql - 如何组合来自一张表的查询?
问题描述
我有一张包含日期和一些数据的表格。如何在一个请求中显示每个月(一月、二月、三月)的数据,并同时显示三个月的金额、三个月的平均值和最高付款额?
结果应该是这样的
用户 | 日期 | 支付 | 平衡 | 平均(余额) | 平均(支付) | 总和(支付) |
---|---|---|---|---|---|---|
用户_1 | 2016-01-30 | 25 | 32 | 37.6 | 21.3 | 64 |
用户_1 | 2016-02-28 | 22 | 39 | 37.6 | 21.3 | 64 |
用户_1 | 2016-03-30 | 17 | 42 | 37.6 | 21.3 | 64 |
用户_2 | 2016-01-30 | 33 | 35 | 31.6 | 21.3 | 95 |
用户_2 | 2016-02-28 | 42 | 29 | 31.6 | 21.3 | 95 |
用户_2 | 2016-03-30 | 19 | 31 | 31.6 | 31.3 | 95 |
我只需两个请求就可以做到这一点
select users, date, pay from table
我收到了每个月的数据select users avg(balance), avg(pay), sum(pay), max(pay) from table group by users
如何结合这两个查询?
解决方案
尝试:
select t1.users,
`date`,
pay ,
avg_balance,
avg_pay,
sum_pay,
max_pay
from table_tbl t1
inner join
( select users,
avg(balance) as avg_balance,
avg(pay) as avg_pay,
sum(pay) as sum_pay,
max(pay) as max_pay
from table_tbl
group by users ) as t2
on t1.users=t2.users;
推荐阅读
- smb - owncloud 10.3.2 SMB共享,一次只能一个用户访问
- node.js - 使用 HTML5 视频标签从 Node.js 服务器上的 MinIO 存储桶流式传输视频
- xcode - mac终端无法运行make命令
- azure-devops - 如何指定特定 Azure 作业需要作业级别的给定操作系统?
- sql - sql按天查询显示不同的结果
- android - 我需要为每个页面制作横幅广告吗?
- pandas - 如何连接到另一列具有特定值的一列下的单元格?
- reactjs - Nginx 子文件夹 admin react app 在 main react app 下
- python-3.x - 用 pack() tkinter 对齐东西
- .htaccess - .htaccess RewriteRule 条件规则