Sql查询从数据中选择第三个元素? [复制]
Posted
技术标签:
【中文标题】Sql查询从数据中选择第三个元素? [复制]【英文标题】:Sql query to select 3rd element from data? [duplicate] 【发布时间】:2015-08-18 18:26:40 【问题描述】:我已经写了sql查询
Select * from Products WHERE Products.Category=="Fruits";
返回的答案是
1-Banana
2-Mango
3-Apple
4-Oranges
5-Grapes
现在我只想在索引 3 处选择水果,即 Apple 使用 sql 索引 问题无处不在,我应该如何在 sql 查询中使用它的索引来选择第三位的元素?
【问题讨论】:
语法错误。您使用的是哪个 dbms 产品? mysql 和 SQL Server 都有??? SQL SERVER 2012 但我只想要第三个数字限制应该给我 2 个值 欢迎来到***。请阅读How to Ask。我已编辑您的问题以删除不相关的标签。 【参考方案1】:您可以使用 CTE 查找第 n 位记录
with cte as
(
select ROW_NUMBER() over (order by Salary desc) as r, *
from Products
WHERE Products.Category=="Fruits" e
)
select * from cte where r=3
【讨论】:
【参考方案2】:Sql server 2012 支持offset
and fetch
,因此您的查询应如下所示:
SELECT *
FROM Products
WHERE Products.Category ='Fruits'
ORDER BY Products.Category -- or whatever column you need the sort on
OFFSET 3 ROWS FETCH NEXT 1 ROW ONLY;
【讨论】:
可能是OFFSET 2 ROWS FETCH NEXT 1 ROW ONLY
?
糟糕,正确。修好了。以上是关于Sql查询从数据中选择第三个元素? [复制]的主要内容,如果未能解决你的问题,请参考以下文章