获取此查询返回的数字或行的正确方法是什么?我正在特别查看是否没有返回结果。
sql = 'SELECT count(*) from table WHERE guid = %s;'
data=[guid]
cur.execute(sql,data)
results = cur.fetchone()
for r in results:
print type(r) # Returns as string {'count': 0L} Or {'count': 1L}
谢谢。
最佳答案
results
本身是一个行对象,就您而言(根据声明的print
输出判断),一个字典(您可能配置了dict-like cursor subclass);只需访问count
密钥:
result = cur.fetchone()
print result['count']
因为您使用了
.fetchone()
,所以仅返回一行,而不返回行列表。如果您不使用类似dict(-)的行游标,则行为元组,计数值为第一个值:
result = cur.fetchone()
print result[0]
关于python - 获取psycopg2 count(*)个结果数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19191766/