常规 SQL/MySQL 将行转换为列
General SQL/MySQL turning rows into columns
我目前在尝试调整 table 时遇到了一些困难 MySQL。
table 本身的简化版本可能类似于:
dayName amount
---------------------
Monday 34
Tuesday 3453
... ...
理想情况下,我希望能够将每一天变成一列,并将每个金额作为其值。
有什么关于以干净的方式进行的建议吗?
谢谢!
如果你的行总是星期几,那么你可以使用这样的东西:
select
sum(case when dayName = 'Monday' then amount end) as 'Monday',
sum(case when dayName = 'Tuesday' then amount end) as 'Tuesday'
.
.
.
from DaysOfWeek;
很遗憾,MySQL 没有 PIVOT
功能。
我目前在尝试调整 table 时遇到了一些困难 MySQL。
table 本身的简化版本可能类似于:
dayName amount
---------------------
Monday 34
Tuesday 3453
... ...
理想情况下,我希望能够将每一天变成一列,并将每个金额作为其值。 有什么关于以干净的方式进行的建议吗?
谢谢!
如果你的行总是星期几,那么你可以使用这样的东西:
select
sum(case when dayName = 'Monday' then amount end) as 'Monday',
sum(case when dayName = 'Tuesday' then amount end) as 'Tuesday'
.
.
.
from DaysOfWeek;
很遗憾,MySQL 没有 PIVOT
功能。