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 的原因。