如何使用sql查询在表中找到第五条记录?
答案 0 :(得分:10)
如果你感到有争议,可以考虑使用“SELECT * FROM table LIMIT 1”并争辩说,由于SQL不承诺以任何特定顺序返回结果,返回的行在灵性上等同于第五行,然后显示你的纹身: “无序集合的第n个元素毫无意义!”
答案 1 :(得分:2)
SELECT TOP 1 * FROM (SELECT TOP 5 * FROM Table T ORDER BY Column ASC) ORDER BY Column Desc
答案 2 :(得分:2)
如果您使用的是SqlServer,则可以使用TOP
关键字来实现此目的。
select top 1 * from(
select top 5 * from myTable order by orderingColumn) as A
order by orderingColumn desc
如果您正在使用Oracle,这应该可行(但我现在无法测试)
select *
from (
select *, row_number() over (order by orderingColumn) r
from items
)
where r = 5;
答案 3 :(得分:1)
SELECT * FROM table LIMIT 1 OFFSET 4;
答案 4 :(得分:1)
MySQL
中的第五条记录 SELECT * FROM anytable LIMIT ORDER BY id LIMIT 4,1
答案 5 :(得分:0)
对于SQL Server(最近的化身,无论如何),这样的事情应该有效:
SELECT
*
FROM
(
SELECT
*,
ROW_NUMBER() OVER (ORDER BY the_table.the_column) 'row_num'
FROM
the_table
) numbered_rows
WHERE
row_num = 5
然而,我实际上是对Thomas L Holaday的答案进行了投票:)