MYSQL将行转移/转换为值匹配的列

时间:2016-10-17 19:24:28

标签: mysql sql pivot

我真的可以使用一些帮助来了解如何根据类似的值来转动表格。

   day  |  startDate
-----------------------
Monday  |  09:00
Monday  |  13:00
Tuesday |  08:30
Tuesday |  12:30

理想情况下,我希望我的结果类似......

   day  |  firstStartDate | secondStartDate
-------------------------------------------
Monday  |       09:00     |     13:00
Tuesday |       08:30     |     12:30

一般来说,我知道每天只会有两个实例,因此将它们转换为列可能是固定的。

任何建议都会受到超级赞赏!

2 个答案:

答案 0 :(得分:0)

我相信这可以使用GROUP BY完成,就像这样

SELECT 
   day, 
   MIN(startDate) as firstStartDate, 
   MAX(startDate) as secondStartDate 
FROM TableName 
GROUP BY day

答案 1 :(得分:0)

您可以使用自我加入

select a.day , a.startDate as firstStartDate, b.startDate as secondStartDate
from my_table as a 
inner join my_table as b  on a.day = b.day and a.startDate < b.startDate