Sql 从表中选择特定行

Sql 从表中选择特定行,sql,mysql,Sql,Mysql,如何从表中选择特定行 我想做到以下几点: select * from (select * from tablename1 where type=1 order by id desc) where rownum = 5 select * from (select * from tablename1 where type=1 order by id desc) where rownum = $variable 使用限制关键字: SELECT * FROM tablenam

如何从表中选择特定行

我想做到以下几点:

select * from 
    (select * from tablename1 where type=1 order by id desc) 
where rownum = 5

select * from 
    (select * from tablename1 where type=1 order by id desc) 
where rownum = $variable

使用
限制
关键字:

SELECT * FROM tablename WHERE (stuff...) LIMIT $rownum,1;

如果将2个数字传递给
LIMIT
,它将第一个数字视为偏移量,第二个数字视为要返回的结果数(而如果只传递1个数字,它将其视为结果数)。因此,请求
LIMIT$rownum,1
您将只返回一行,即位于$rownum位置的行(请记住,行的索引从0开始)。

使用
LIMIT
关键字:

SELECT * FROM tablename WHERE (stuff...) LIMIT $rownum,1;

如果将2个数字传递给
LIMIT
,它将第一个数字视为偏移量,第二个数字视为要返回的结果数(而如果只传递1个数字,它将其视为结果数)。因此,要求
限制$rownum,1
您将只返回一行,即位于$rownum位置的一行(请记住,行的索引从0开始)。

来自哪个数据库?不同的供应商处理这个问题的方式不同。从哪个数据库?不同的供应商处理这个问题的方式不同。这是一个MySQL关键字。上面发布的OP是PL/SQL语法。SQL Server在(按列排序)上使用
row\u number()
。现在你知道了。实际上,OP发布的也是有效的mysql语法(至少,不包括他们最初询问的行号位)。更不用说他们的评论说他们正在使用mysql。@Dav:
rownum
不是mysql中的函数,OP在我的评论之后发布了该评论。我不是一个时间旅行者。然而现在正确的答案是+1:)@Eric是的,但是他们在寻找他们发布的内容-如果他们在寻找发布的内容,他们为什么会在这里提问?:)不管是谁,别担心。@dav,eric@brian我在sqlplz上又发布了一个问题,请帮助我。这是一个MySQL关键字。上面发布的OP是PL/SQL语法。SQL Server在(按列排序)上使用
row\u number()
。现在你知道了。实际上,OP发布的也是有效的mysql语法(至少,不包括他们最初询问的行号位)。更不用说他们的评论说他们正在使用mysql。@Dav:
rownum
不是mysql中的函数,OP在我的评论之后发布了该评论。我不是一个时间旅行者。然而现在正确的答案是+1:)@Eric是的,但是他们在寻找他们发布的内容-如果他们在寻找发布的内容,他们为什么会在这里提问?:)不管是谁,别担心。@dav,eric@brian我在sqlplz上又发布了一个问题,请帮助我。