2014-09-05 2 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 

를 나는 이런 식으로 실행 : 나는 응답을 인쇄 할 때

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)': 8932327L, 'value': 'OK'}, 
{'COUNT(1)': 526L, 'value': 'ERROR_DOWNLOAD'}, 
{'COUNT(1)': 14944L, 'value': 'ERROR_LTU'}) 

대신 단지 나에게 첫 번째 라인을 제공하는 것이

답변

1

fetch_row 기본적으로 단일 행이 반환됩니다. 시도해보십시오.

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