gpt4 book ai didi

MySQL 从同一个表中显示今年的值和去年的值

转载 作者:行者123 更新时间:2023-11-29 08:17:28 24 4
gpt4 key购买 nike

我对 mysql 很陌生,但我有一个如下所示的表:

+----+------+-------+-------+------+
| id | year | month | total | cost |
+----+------+-------+-------+------+
| 1 | 2011 | Dec | 2000 | 2048 |
| 2 | 2012 | Jan | 2675 | 2738 |
| 3 | 2012 | Feb | 2685 | 2749 |
| 4 | 2012 | Mar | 1787 | 1830 |
| 5 | 2012 | Apr | 1547 | 1584 |
| 6 | 2012 | May | 847 | 867 |
| 7 | 2012 | Jun | 621 | 636 |
| 8 | 2012 | Jul | 610 | 624 |
| 9 | 2012 | Aug | 659 | 675 |
| 10 | 2012 | Sep | 828 | 848 |
| 11 | 2012 | Oct | 1420 | 1454 |
| 12 | 2012 | Nov | 1608 | 1646 |
| 13 | 2012 | Dec | 2721 | 2786 |
| 14 | 2013 | Jan | 2636 | 2699 |
| 15 | 2013 | Feb | 2266 | 2320 |
| 16 | 2013 | Mar | 2351 | 2407 |
| 17 | 2013 | Apr | 1497 | 1532 |
| 18 | 2013 | May | 819 | 838 |
| 19 | 2013 | Jun | 668 | 684 |
| 20 | 2013 | Jul | 580 | 594 |
| 21 | 2013 | Aug | 623 | 638 |
| 22 | 2013 | Sep | 790 | 808 |
| 23 | 2013 | Oct | 1146 | 1173 |
| 24 | 2013 | Nov | 1581 | 1618 |
+----+------+-------+-------+------+

我需要一个查询来给出结果(成本),如下所示:

+-------+-------+------+
| month | 2012 | 2013 |
+-------+-------+------+
| Sep | 848 | 808 |
| Oct | 1454 | 1173 |
| Nov | 1646 | 1618 |
+-------+-------+------+

我正在跟踪用电量,需要查看今年和去年的月份。有什么想法吗?

最佳答案

select month, 
sum(case when year = 2012 then cost else 0 end) as 2012,
sum(case when year = 2013 then cost else 0 end) as 2013
from your_table
where month in ('Sep','Oct','Nov') and year in (2012,2013)
group by month

关于MySQL 从同一个表中显示今年的值和去年的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20291943/

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