获取sqlite中第n个最高值的行

时间:2014-07-14 20:30:19

标签: sqlite

我的问题听起来很简单,但我找不到有效的解决方案。 我需要使用sqlite获取属性的第5个最高值的行。当然,条目是随机的。所以它没有排序。 我确实找到了一些使用sql的解决方案,但显然并不是sqlite支持所有的sql功能。

提前致谢

2 个答案:

答案 0 :(得分:2)

要删除重复项,请使用DISTINCT。 要仅获取第五个值,请使用OFFSET子句:

SELECT DISTINCT SomeAttribute
FROM MyTable
ORDER BY 1 DESC
LIMIT 1 OFFSET 4

答案 1 :(得分:0)

尝试'限制' 关键字。

下面的查询将使用'不在'中消除前四行。 然后是最后一个限制1'将选择第5行。

从程序中选择* ProgramId不在的地方 (按程序顺序选择ProgramId From programId limit 4) 按programId限制1

订购

编辑:

添加CV' Distinct'和' OFFSET'建议,完成的查询看起来像......

Select StudentName From Students Where Marks in (
Select distinct Marks from Students Order By Marks desc Limit 1 offset 4)