【发布时间】:2016-11-05 06:41:23
【问题描述】:
我想构造一个带有IN 运算符的SQL 语句,该运算符适用于任意长度的列表。我正在使用 python、pandas 和 sqlalchemy。
例如,如果我要执行的查询是
SELECT * FROM users WHERE age IN (25, 26, 27)"
我试过了:
import pandas as pd
from sqlalchemy.sql import text
ages = (25, 26, 27)
query = text("SELECT * FROM users WHERE age IN (:x)")
df = pd.read_sql_query(query, conn, params={"x":ages})
但这会导致错误。如何正确构建查询?我希望解决方案在IN 运算符的列表中只有一个值的情况下工作,即ages = tuple(25)。
【问题讨论】:
-
您可能想试试this。 PS 它不适用于我的 SQLite,目前我无法将其与其他 SQL 数据库进行对比...
标签: python sql pandas sqlalchemy