假设我们有一个名为prices
的表,包含以下字段:
id
:唯一标识符product_id
:产品的唯一标识符price
:价格要按最低和最高记录聚合定价数据,可以使用以下SQL查询:
SELECT product_id, MIN(price) AS min_price, MAX(price) AS max_price
FROM prices
GROUP BY product_id;
这将返回一个结果集,其中每行表示一个产品的最低和最高价格。product_id
字段表示产品的唯一标识符,min_price
字段表示最低价格,max_price
字段表示最高价格。
以下是一个完整的示例:
-- 创建价格表
CREATE TABLE prices (
id INT PRIMARY KEY,
product_id INT,
price DECIMAL(10, 2)
);
-- 插入示例数据
INSERT INTO prices (id, product_id, price)
VALUES
(1, 1, 10.00),
(2, 1, 15.00),
(3, 1, 20.00),
(4, 2, 5.00),
(5, 2, 8.00),
(6, 2, 12.00);
-- 按最低和最高记录聚合定价数据
SELECT product_id, MIN(price) AS min_price, MAX(price) AS max_price
FROM prices
GROUP BY product_id;
这将返回以下结果:
product_id | min_price | max_price
-----------+-----------+-----------
1 | 10.00 | 20.00
2 | 5.00 | 12.00
这表示产品1的最低价格为10.00,最高价格为20.00,产品2的最低价格为5.00,最高价格为12.00。
上一篇:按组ID获取最后第n行的值之和