0

如何转换此表:

ID        ITEM_CODE
--------------------
1            1AB
1            22S
1            1AB
2            67R
2            225
3            YYF
3            1AB
3            UUS
3            F67
3            F67
3            225
......

..到列表列表,每个列表都是包含其分配的 item_codes 的不同 ID?

形式:[[1AB,22S,1AB],[67R,225],[YYF,1AB,UUS,F67,F67,225]]

使用此查询:

SELECT ID, ITEM_CODE 
FROM table1 
ORDER BY ID;

并且cursor.fetchall()在 python 中执行不会将其作为列表返回,也不会按 ID 排序

谢谢

4

1 回答 1

1

使用该查询,您在 Python 中的后处理可能会更少:

SELECT GROUP_CONCAT(ITEM_CODE) 
FROM table1
GROUP BY ID 
ORDER BY ID;

这将直接产生结果:

1AB,22S,1AB
67R,225
YYF,1AB,UUS,F67,F67,225

在那之后cursor.fetchall(),我认为会或多或少地直接返回您的预期。


编辑:

result = [ split(row, ',') for row in cursor.fetchall()]
于 2013-08-06T18:21:46.060 回答