我想做一個功能:
def UserGameDetails(UserID):
SQL = '''SELECT U.FirstName, U.LastName, COUNT(*) AS TotalGames
FROM User U INNER JOIN Game G
ON U.Id = G.UserId
WHERE U.Id = ? '''
如您所見,該函式可以通過撰寫例如:UserGameDetails(3) 來呼叫,您將收到 ID 為 3 的用戶的所有相關資訊。
我怎樣才能讓我的函式知道用戶放在括號中的內容是它正在尋找的 UserID 嗎?
uj5u.com熱心網友回復:
您可以使用execute()和系結引數。請注意,您的查詢應該有一個GROUP BY子句。
SQL = '''SELECT U.FirstName, U.LastName, COUNT(*) AS TotalGames
FROM User U INNER JOIN Game G
ON U.Id = G.UserId
WHERE U.Id = ?
GROUP BY U.FirstName, U.LastName'''
id = 3
results = cursor.execute(SQL, (id,))
for row in results:
first = row["FirstName"]
last = row["LastName"]
count = row["TotalGames"]
print("User '" first " " last "' has played " str(count) " games.")
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/434090.html
標籤:sqlite
上一篇:嘗試使用FastAPI/SQLitePOST時獲取(sqlite3.IntegrityError)NOTNULL約束失敗
