2013-08-06 40 views
0

我怎样才能变换该表:MySQL表以列表的Python列表()

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 
...... 

..to列表的列表,每个列表是包含它的分配item_codes一个独特ID?

形式

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

使用此查询:

SELECT ID, ITEM_CODE 
FROM table1 
ORDER BY ID; 

,做在python cursor.fetchall()不会返回它作为一个清单,也不由ID

下令谢谢

回答

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()]