gpt4 book ai didi

mysql - 如何在mysql中选择一些行作为列

转载 作者:行者123 更新时间:2023-11-29 09:32:26 25 4
gpt4 key购买 nike

大家好?我正在使用一个 MySQL 表,该表存储员工工资、日期和电表读数。我想选择上个月的读数作为上个月的读数,选择当月的读数作为当月的读数,这就是我的意思

 payno | date       | value 
-------+------------+------------
6 | 2019-08-31 | 2477
6 | 2019-09-25 | 2487
8 | 2019-08-31 | 1651.2
8 | 2019-09-25 | 1697.6

上面是我的表的结构,我想实现这样的目标:

 payno | previous month| current month
-------+---------------+------------
6 | 2477 | 2487
8 | 1651.2 | 1697.6

请注意,上个月读数是月份(日期)为 8 的读数,当前月份读数是月份(日期)为 9 的读数。

最佳答案

我不知道每个月可以阅读多少次,所以我们会总结一下。

select e.payno,
( select sum(x1.val)
from emp x1
where x1.payno=e.payno and month(x1.data)=month(date_sub(e.data, INTERVAL 1 MONTH))
group by x1.payno ) AS prev_month,
( select sum(x2.val)
from emp x2
where x2.payno=e.payno and month(x2.data)=month(e.data)
group by x2.payno ) AS this_month
from emp e
where month(e.data)=9 /* this is where you specify "current" month */
;

关于mysql - 如何在mysql中选择一些行作为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58415661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com