![](/img/trans.png)
[英]How to write a mysql query to return result comparing rows of same table?
[英]how to merge a query result by datetime in same table mysql?
所有,
我需要您的幫助,以在mysql中的同一datetime中合並結果。
我對兩個表進行查詢 :
SELECT b.ID, b.DateTime, b.Value
FROM tableA a, tableB b
WHERE (a.Id=1) OR (a.Id=2) OR (a.Id=3) AND (a.Id = b.ID)
AND (b.DateTime Between '2011-04-02 06:00' And '2011-04-02 06:05')
查詢結果:
| ID | DateTime | Value |
----------------------------------
| 1 | 2011-04-02 06:00 | 20 |
| 1 | 2011-04-02 06:05 | 21 |
| 2 | 2011-04-02 06:00 | 10 |
| 2 | 2011-04-02 06:05 | 16 |
| 3 | 2011-04-02 06:00 | 23 |
| 3 | 2011-04-02 06:05 | 22 |
我想要做的就是這樣的結果 :
| DateTime | ID_1 | ID_2 | ID_3 |
------------------------------------------------
| 2011-04-02 06:00 | 20 | 10 | 23 |
| 2011-04-02 06:05 | 21 | 16 | 22 |
我希望對此有解決方案。
在此先感謝您的幫助。
問候,
gy
感謝@liquorvicar提供的解決方案...
我已經嘗試過以下查詢:
SELECT b.Date,
SUM(CASE WHEN a.Id=1 THEN b.Value ELSE 0 END) AS Mac1,
SUM(CASE WHEN a.Id=2 THEN b.Value ELSE 0 END) AS Mac2,
SUM(CASE WHEN a.Id=3 THEN b.Value ELSE 0 END) AS Mac3
FROM TableA a, TableB b
WHERE (a.Id = b.ID) AND (b.Date Between '2011-04-02 06:00' And '2011-04-02 06:05')
GROUP BY b.DA_Date
結果就像我需要的.. :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.