-1

反正有没有得到mysql查询结果

(id,result1,[result21,result22, result23])

我正在尝试检索第三列是时间戳并且对应于相同 ID 的结果。

例如,我得到的结果是

(21,29383)
(21,23988)
(22,23455)
(22,34564)

我希望结果为

(21,(29383,23988))
(21,(223455,34564))
4

1 回答 1

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)))
于 2013-03-13T17:56:05.497 回答