如何统计MYSQL中特定行的执行次数



我写了一个python脚本,需要计数登录到网页。我有很多用户名和密码,我想计算每个用户名登录了多少次,首先我数了一下调用login()方法的次数,但它没有回答我!因为所有表行的计数值都会更新,下面是我的代码:

counter = 0
def user_pass():  # send username & password for login method
global counter
counter += 1
curser.execute("SELECT username,password,use_num FROM users ORDER BY RAND()")
users = curser.fetchone()
_user = users[0]
_pass = users[1]
_usenum = users[2]
print(_user, _pass, _usenum)
if int(_usenum) < 3:
z = int(_usenum)
z += 1    # to avoid use more than 3 times of one user&pass
quer = "UPDATE users SET use_num = %s "
curser.execute(quer, [z])
myConnection.commit()
return _user, _pass
else:
if counter > 4:
print("most of user&pass rich limit take an action")
else:
user_pass()

我尝试计数调用方法login()的次数,但没有给我正确的答案

in line

quer = "UPDATE users SET use_num = %s "

只需要像这样在查询的末尾加上WHERE:

counter = 0
def user_pass():  # send username & password for login method
global counter
counter += 1
curser.execute("SELECT id,username,password,use_num FROM users ORDER BY RAND()")
users = curser.fetchone()
_id = users[0]
_user = users[1]
_pass = users[2]
_usenum = users[3]
print(_user, _pass, _usenum)
if int(_usenum) < 3:
z = int(_usenum)
z += 1    # to avoid use more than 3 times of one user&pass
quer = f"UPDATE users SET use_num = %s WHERE id = {_id}"
curser.execute(quer, [z])
myConnection.commit()
return _user, _pass
else:
if counter > 4:
print("most of user&pass rich limit take an action")
else:
user_pass()

最新更新