You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询问题:如何从单价最高的前5个产品中取单价最低的前3个

SQL查询实现方案

你可以将已有的查询作为子查询嵌套在外层查询中即可,注意子查询需要设置别名才能被外层调用,完整语句如下:

SELECT TOP 3 * 
FROM (
    -- 你原有逻辑:取全表单价最高的5个产品
    SELECT TOP 5 * 
    FROM Products 
    ORDER BY UnitPrice DESC
) AS Top5HighPriceProducts
-- 对前5个产品按单价升序,取价格最低的前3个
ORDER BY UnitPrice ASC

逻辑说明

  • 内层子查询直接复用你已经验证过的逻辑,返回全表UnitPrice最高的5条产品记录
  • 外层查询仅针对内层返回的5条数据做处理,按UnitPrice升序排序后取前3条,刚好符合你要的“前5高里的前3低”的需求

其他数据库兼容写法

如果你使用的是MySQL、PostgreSQL等不支持TOP关键字的数据库,可以替换为LIMIT实现,语句如下:

SELECT * 
FROM (
    SELECT * 
    FROM Products 
    ORDER BY UnitPrice DESC
    LIMIT 5
) AS Top5HighPriceProducts
ORDER BY UnitPrice ASC
LIMIT 3

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:09:01