SQL python 中的查询 - select 行包含前 n 行的参数
SQL query in python - select rows containing argument from first n rows
我有一个测试 table 有 2000 行,我试图 select 仅从前 1000 行那些 xxx = 0 的行。
我试过:
mydb.cursor().execute("SELECT column_N FROM test_table LIMIT 1000 WHERE xxx = 0")
但这returns是一个错误。
注意:我希望从前 1000 行中获取包含参数的行,而不是包含参数的前 1000 行。
WHERE 子句需要放在 LIMIT 之前:
SELECT column_N
FROM test_table
WHERE xxx = 0
-- ORDER BY col_name -- to have stable resultset, ORDER BY is needed
LIMIT 1000
编辑:
SELECT s.column_N
FROM (
SELECT *
FROM test_table
ORDER BY col_name -- to have stable first 1000 rows, ORDER BY is needed
LIMIT 1000) s
WHERE s.xxx = 0;
表格是无序集,因此 LIMIT 1000
可能会在运行之间发生变化,这就是添加 ORDER BY
的原因。
我有一个测试 table 有 2000 行,我试图 select 仅从前 1000 行那些 xxx = 0 的行。
我试过:
mydb.cursor().execute("SELECT column_N FROM test_table LIMIT 1000 WHERE xxx = 0")
但这returns是一个错误。
注意:我希望从前 1000 行中获取包含参数的行,而不是包含参数的前 1000 行。
WHERE 子句需要放在 LIMIT 之前:
SELECT column_N
FROM test_table
WHERE xxx = 0
-- ORDER BY col_name -- to have stable resultset, ORDER BY is needed
LIMIT 1000
编辑:
SELECT s.column_N
FROM (
SELECT *
FROM test_table
ORDER BY col_name -- to have stable first 1000 rows, ORDER BY is needed
LIMIT 1000) s
WHERE s.xxx = 0;
表格是无序集,因此 LIMIT 1000
可能会在运行之间发生变化,这就是添加 ORDER BY
的原因。