python - 包含 LIKE 运算符中 Python 列表中每个元素的多个 SQL 查询
问题描述
我正在尝试运行多个SQL queries
,其中LIKE
运算符包含Python中列表的每个元素。我有一长串字符串
l = ['string1', 'string2', 'string3',....]
query_1 = "SELECT COUNT(request) FROM table WHERE request LIKE 'l[0]' AND DATE BETWEEN 'date1' AND 'date2'".format(l[0])
query_2 = "SELECT COUNT(request) FROM table WHERE request LIKE 'l[1]' AND DATE BETWEEN 'date1' AND 'date2'".format(l[1])
query_3 = "SELECT COUNT(request) FROM table WHERE request LIKE 'l[2]' AND DATE BETWEEN 'date1' AND 'date2'".format(l[1])
等等。
我将如何运行多个查询然后将它们连接起来?是否可以在多个查询中使用该execute
功能,还是只能与一个查询一起使用?我会使用 for 循环吗?
编辑:在这个问题的上一个版本中,我询问了在运算符中运行一个包含多个列表元素的查询LIKE
。我意识到最终的查询是这样的:
SELECT COUNT(request) FROM table WHERE request LIKE 'l[0]' OR LIKE 'l[1]' OR LIKE 'l[2]' AND DATE BETWEEN 'date1' AND 'date2'.
那不是我需要的。
解决方案
您可以将f 字符串与 for 循环一起使用
l = ['string1', 'string2', 'string3']
res = []
for x in l:
query = f"SELECT COUNT(request) FROM table WHERE request LIKE '{x}' AND DATE BETWEEN 'date1' AND 'date2'"
cursor.execute(query)
res.append(cursor.fetchone()[0])
推荐阅读
- r - 如何在 R fmsb 中为 R Shiny 移动雷达图/蜘蛛图标签,使标签不与绘图重叠?
- git - 如果我在 linux 命令行上出现“HEAD detached from”错误,我该如何推送我的提交?
- regex - 精确字符串的正则表达式
- django - Django - 如何获取 ForeignKey 查询元素的图像字段?
- r - 根据其中一个数字序列字段重复 df
- twig - 无法从字段集合中获取价值
- angular2-nativescript - NativeScript:我必须为 Android + iOS + Web 应用程序开发一个离线应用程序。离线数据将存储在 SQLite DB 中
- python - JSON数据中的Django搜索查询
- javascript - 全局变量赋值的 JavaScript 问题
- jquery - JQuery 验证问题:我在同一页面上有 2 个表单,每个表单在 2 个不同的选项卡中,但只有一个验证不起作用