[英]Pivoting in MySQL table
我有一個名為switch的MySQL表,如下所示:
switchName switchCondition switchingTime
----------- --------------- -------------
First ON 10:00
First OFF 11:00
Second ON 10:30
Third OFF 13:00
Third ON 13:45
如何通過根據切換條件旋轉切換時間,如何使用上表以以下格式將報告顯示為html表?
switchName ON OFF
----------- ----- -------
First 10:00 11:00
Second 10:30 -
Third 13:45 13:00
嘗試這個:
SELECT s.switchName,
MAX(CASE WHEN s.switchCondition = 'ON' THEN s.switchingTime ELSE '-' END) AS SwitchON,
MAX(CASE WHEN s.switchCondition = 'OFF' THEN s.switchingTime ELSE '-' END) AS SwitchOFF
FROM switches s
GROUP BY s.switchName;
另一種方法
SELECT s.switchName, s1.switchingTime, s2.switchingTime
FROM switches s
LEFT JOIN switches s1 ON s.switchName = s1.switchName AND s1.switchCondition = 'ON'
LEFT JOIN switches s2 ON s.switchName = s2.switchName AND s2.switchCondition = 'OFF'
GROUP BY s.switchName
(盡管它將破折號表示為NULL
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.