【问题标题】:How to retrieve nth highest details from below table using SQl?如何使用 SQl 从下表中检索第 n 个最高详细信息?
【发布时间】:2015-10-06 14:21:37
【问题描述】:

假设如果我的表模式是这样的 item(item_id,item_name,item_price); 我如何检索第 n 个最高 item_price 的详细信息? 考虑上述架构的此表

ITEM_ID     ITEM_NAME       ITEM_PRICE
  101         pie             79
  102         chi             95
  100         dal             85
  103         tai             60

我必须从该表中检索价格第二高的商品的 item_id、item_name .....

【问题讨论】:

  • 我们需要查看您尝试过的查询,以便在此基础上进行构建。或者更正它。
  • 请发布一些示例数据和您迄今为止尝试过的查询。
  • 标记您正在使用的 dbms。添加样本数据和预期结果。并向我们​​展示您当前的查询尝试。

标签: mysql sql database oracle


【解决方案1】:

你的问题不是很清楚。我们不知道您表中已有的排名列是否与标记相关。假设不是,您可以在 SQL Server 中执行类似的操作。

SELECT 
  StuRank.*
FROM 
  (SELECT *, DENSE_RANK() OVER (ORDER BY marks desc) AS rnk FROM student) StuRank
WHERE rnk = 2

虽然有很多未知数,例如如果两个学生的分数相同,你想做什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    相关资源
    最近更新 更多