有可能吗?我的意思是
Select * from tbl limit 100;
我想用
之类的查询替换Select * from tbl WHERE ...some_condition...
答案 0 :(得分:2)
您可以使用row_number()
:
select *
from (
select row_number() over () as rn
, *
from YourTable
) as SubQueryAlias
where rn <= 100
如果您有特定的排序,可以添加order by
子句:
select row_number() over (order by date_column) as rn
答案 1 :(得分:2)
您是否希望where
子句仅应用于前100行?如果是这样,请使用子查询:
select . . .
from (select t.*
from table t
limit 100) t
where . . .
这将返回少于100行(可能不是所有行都符合条件)。此外,使用limit
时,您应该有order by
条件。
答案 2 :(得分:1)
您不能在limit
子句中放置where
子句。但是你当然可以在limit
子句之后追加 where
子句。