繁体   English   中英

如何在同一表的mysql中按日期时间合并查询结果?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM