我有一張表,如下所示。在mysql查詢中使用min,max和avg
我想單個查詢中的最小,最大和平均成本產品的product_id。
CREATE TABLE productlist(product_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
cost INT);
INSERT INTO productlist(cost)
VALUES('2450'),
('2200'),
('2580'),
('2405'),
('3500'),
('1500'),
('1800'),
('1520'),
('1740'),
('1940'),
('2940'),
('1250'),
('1290'),
('1390'),
('2900');
輸出:
Min 12
Max 5
Avg 2093
我試着像一個下面,但它不是工作。
SELECT product_id, MIN(cost) as mincost
FROM productlist
GROUP BY product_id
ORDER BY mincost ASC
LIMIT 0,1
UNION
SELECT product_id, max(cost) as maxcost
FROM productlist
GROUP BY product_id
ORDER BY maxcost DESC
LIMIT 0,1
我應該怎麼做這個
'product_id'設置爲'AUTO_INCREMENT'和'PRIMARY KEY'。因爲沒有'product_Id'是相同的,所以得到每個*'product_id'的min,max,avg *沒有意義。 –
我需要在表格中顯示最大和最小產品成本。唯一的方法是編寫單獨的查詢? – ArrayOutOfBound
avg的產品ID是什麼?如果Avg = 2093,則mysql AVG函數不會返回您的ID – Sahal