无论如何都要将mysql查询结果作为
(id,result1,[result21,result22, result23])
我正在尝试检索第三列是时间戳的结果,它对应于相同的ID。
例如我的结果是
(21,29383)
(21,23988)
(22,23455)
(22,34564)
我希望结果为
(21,(29383,23988))
(21,(223455,34564))
答案 0 :(得分:2)
我不熟悉MySQL,但是如果你将结果作为Python元组,你就可以操纵Python端的数据结构。一种可能的方式是:
from collections import defaultdict
results = [
(21,29383),
(21,23988),
(22,23455),
(22,34564)
]
d = defaultdict(list)
for your_id, result in results:
d[your_id].append(result)
results_as_tuples = tuple(
sorted([
(your_id, tuple(results)) for your_id, results in d.iteritems()
])
)
print results_as_tuples # --> ((21, (29383, 23988)), (22, (23455, 34564)))