2016-10-14 80 views
0

我的MySQL表的结构是这样的:MySQL数据到Python字典结构

id | mid | liters | timestamp 
1 | 20 | 50 | 2016-10-11 10:53:25 
2 | 30 | 60 | 2016-10-11 10:40:20 
3 | 20 | 100 | 2016-10-11 10:09:27 
4 | 30 | 110 | 2016-10-11 09:55:07 
5 | 40 | 80 | 2016-10-11 09:44:46 
6 | 40 | 90 | 2016-10-11 07:56:14 
7 | 20 | 120 | 2016-04-08 13:27:41 
8 | 20 | 130 | 2016-04-08 15:35:28 

我期望的输出是这样的:

dict = { 

20:{50:[2016-10-11 10:53:25,2016-10-11 10:53:25],100:[2016-10-11 10:53:25,2016-10-11 10:09:27],120:[2016-10-11 10:09:27,2016-04-08 13:27:41],130:[2016-04-08 13:27:41,2016-04-08 15:35:28]}, 

30:{60:[2016-10-11 10:40:20,2016-10-11 10:40:20],110:[2016-10-11 10:40:20,2016-10-11 09:55:07]} 

40:{80:[2016-10-11 09:44:46,2016-10-11 09:44:46],90:[2016-10-11 09:44:46,2016-10-11 07:56:14]} 
     } 

如果50:[2016-10-11 10:53:25,2016-10-11 10:53:25](当你没有一个预览时间戳,你需要复制)很难做到,只需一个50:[2016-10-11 10:53:25]即可。 我怎样才能从我的数据库表中提取这个python字典。

我tryed类似:

query_all = "SELECT GROUP_CONCAT(mid,liters,timestamp) FROM `my_table` GROUP BY mid ORDER BY mid " 

但我不知道如何订购。谢谢你的时间。

回答

0

GROUP_CONCAT可能有自己的ORDER BY

e.g。

GROUP_CONCAT(mid,liters,timestamp ORDER BY liters)