常规 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 功能。

http://sqlfiddle.com/#!9/c1a11/6