とにかくmysqlクエリの結果を取得する方法はありますか
(id,result1,[result21,result22, result23])
3 番目の列がタイムスタンプで、同じ ID に対応する結果を取得しようとしています。
たとえば、次のような結果が得られます
(21,29383)
(21,23988)
(22,23455)
(22,34564)
私は結果が欲しい
(21,(29383,23988))
(21,(223455,34564))
とにかくmysqlクエリの結果を取得する方法はありますか
(id,result1,[result21,result22, result23])
3 番目の列がタイムスタンプで、同じ ID に対応する結果を取得しようとしています。
たとえば、次のような結果が得られます
(21,29383)
(21,23988)
(22,23455)
(22,34564)
私は結果が欲しい
(21,(29383,23988))
(21,(223455,34564))
私は MySQL に詳しくありませんが、結果が Python のタプルとして得られる場合は、Python 側でデータ構造を操作できます。1つの可能な方法は次のとおりです。
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)))