我使用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'},)
答案 0 :(得分:1)
fetch_row
会返回一行。试试这个:
result = db.store_result().fetch_row(how=1, maxrows=0)