0

这是我的SQL

SELECT * FROM (SELECT sk, SUM(qty) AS cnt FROM order WHERE sk LIKE '%s%s' AND days <= '%s' GROUP BY sk ORDER by cnt DESC) AS tmp WHERE tmp.cnt >3;

这是我的代码:

result = cur.fetchall()
for sk, cnt in result:
    rat = cnt/total

然后我得到一个错误:

TypeError: unsupported operand type(s) for /: 'str' and 'Decimal'

我不知道为什么cnt是 typestr而不是int.

4

1 回答 1

1

这就是问题所在: 的每一行fetchall()都是一个dict结果{'sk': u'S0013', 'cnt': Decimal('1971')}cnt结果是 的keydict不是value..

于 2013-12-26T07:37:22.813 回答