[英]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.