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

PostgreSQL查询单列最小最大值,指定列名并仅返回2行

问题分析

你当前的SQL用GROUP BY Order_ID会按每个订单ID单独分组,而每个订单ID对应的order_tot只有一个值,所以每条订单都会返回一行,自然得到2000条结果。

解决方案

如果要返回2行,分别展示订单总额最小和最大的记录,可使用UNION ALL结合子查询实现:

-- 获取订单总额最小的记录
SELECT ord_id AS Order_ID, order_tot AS Minimum_Order, NULL AS Maximum_Order
FROM orders
WHERE order_tot = (SELECT MIN(order_tot) FROM orders)
UNION ALL
-- 获取订单总额最大的记录
SELECT ord_id AS Order_ID, NULL AS Minimum_Order, order_tot AS Maximum_Order
FROM orders
WHERE order_tot = (SELECT MAX(order_tot) FROM orders);

如果存在多个订单总额同为最小或最大的情况,上述SQL会返回对应数量的行。若要只各返回一行(比如取第一个遇到的ID),可以在子查询里加上LIMIT 1:

SELECT ord_id AS Order_ID, order_tot AS Minimum_Order, NULL AS Maximum_Order
FROM orders
WHERE order_tot = (SELECT MIN(order_tot) FROM orders)
LIMIT 1
UNION ALL
SELECT ord_id AS Order_ID, NULL AS Minimum_Order, order_tot AS Maximum_Order
FROM orders
WHERE order_tot = (SELECT MAX(order_tot) FROM orders)
LIMIT 1;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:04:51