mysql sum只产生1

时间:2015-12-31 17:39:08

标签: python mysql sum

enter image description here

我一直在寻找解决方案,但似乎无法发现我所做的事情。做错了。我有一个mysql数据库,其中包含一个包含2列的表:clock(包含时间戳)和state(包含1或0)。当我的面包板上按下一个按钮时(我使用树莓派),1进入数据库,不断更新,如果没有按下按钮,则输入0表。这是因为我在命令行中选择了表格,并显示了适当数量的1和0。

在一个单独的python文件中,数据库和表被调用,并且据说是状态列的总和,如果这是1或更多,我知道按钮已经在最后30秒内按下,因为表格将每30秒清除一次。

问题是,无论多少1和0,甚至当表为空时,总和只返回1.我是python的新手,所以这个错误可能很小,谢谢为你的帮助一样!

以下是总和的整个python文件:

import MySQLdb

conn = MySQLDB.connect('localhost', 'root', 'password', 'sensordb')
cur = conn.cursor()

but1 = cur.execute("SELECT SUM(state) FROM button1")
print "%d" % but1

2 个答案:

答案 0 :(得分:0)

您还需要获取该行。

cur.execute("SELECT SUM(state) FROM button1")
row = cur.fetchone()

    while row is not None:
        print(row)
        row = cur.fetchone() 

答案 1 :(得分:0)

你快到了......

在cur.execute(....)之后

然后您需要阅读输出...

for result in cursor.execute("Your QUERY"):
  if result.with_rows:
    print("Rows produced by statement '{}':".format(
      result.statement))
    print(result.fetchall())

希望这可以帮助你......