2014-09-05 55 views
0

我正在使用MySqlDB来执行我在字典中的很多查询,我的问题是store_result()只返回我想要获得的几个统计数据之一。 下面就这给了我一个问题查询:Python MySqlDB store_result只返回一行

SELECT value, COUNT(1) \ 
       FROM ourson_offerattributes oa \ 
       WHERE attribute_id='status_ltu_indexer' \ 
       GROUP BY \ 
        CASE \ 
         WHEN oa.value='OK'     THEN '0' \ 
         WHEN oa.value='ERROR_DOWNLOAD'  THEN '1' \ 
         WHEN oa.value='ERROR_LTU'   THEN '2' \ 
        ELSE NULL \ 
       END 

在我的Python代码,我执行这样的:

db = sql.connect(**dbParams) 
for query in QUERIES: 
    db.query(QUERIES[query]) 
    result = db.store_result().fetch_row(how=1) 

当我打印的回应,我想获得这样的:

({'COUNT(1)': 8932327L, 'value': 'OK'}, 
{'COUNT(1)': 526L, 'value': 'ERROR_DOWNLOAD'}, 
{'COUNT(1)': 14944L, 'value': 'ERROR_LTU'}) 

相反的,它只是给我的第一行:

({'COUNT(1)': 8932327L, 'value': 'OK'},) 

回答

1

fetch_row默认返回单行。试试这个:

result = db.store_result().fetch_row(how=1, maxrows=0)