我應該同時基于兩個 WHERE 子句進行搜索。一個是簡單子句,另一個是 MAX(文本)。怎么解決?
x = cursor.execute('SELECT product FROM electronics WHERE brand = ? AND MAX(price)' [combo_brand])
Price是資料庫的一列。我想取列記錄的最高值。我想選擇價格最高的產品,同時按它和品牌搜索。
我收到此錯誤:
TypeError: string indices must be integers
uj5u.com熱心網友回復:
如果要為給定品牌選擇具有最高價格的產品,請使用:
sql = '''SELECT product
FROM electronics
WHERE brand = ? AND price = (SELECT MAX(e.price)
FROM electronics e
WHERE e.brand = electronics.brand)'''
x = cursor.execute(sql, (combo_brand,))
records = cursor.fetchall()
print("Total rows are: ", len(records))
for row in records:
print(row)
相反,如果您想要所有品牌中價格最高的產品,請使用:
sql = '''SELECT product
FROM electronics
WHERE brand = ? AND price = (SELECT MAX(price) FROM electronics)'''
x = cursor.execute(sql, (combo_brand,))
但我懷疑第一個版本是你想要的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/388119.html
上一篇:在sqlite中本地洗掉特殊字符
