【发布时间】:2016-04-20 00:18:11
【问题描述】:
所以我运行了这个小查询,似乎发生了一些奇怪的事情。
我想显示所有库存大于平均库存的商品(如果有意义的话...)。
当我运行它时,其中一种产品的库存量低于计算的平均值……我不知道为什么。在这种情况下,不应该返回的项目是:421
返回数据:
"sum(quantity_stocked)" "count(product_id)" "avg(quantity_stocked)"
"15885" "18" "882.5000"
"product_id" "quantity_stocked"
"861" "1082"
"591" "1948"
"485" "1402"
"421" "858"
"277" "1920"
"214" "902"
"59" "1021"
查询:
select sum(quantity_stocked), count(product_id), avg(quantity_stocked)
FROM products;
SELECT product_id, quantity_stocked
FROM products
WHERE quantity_stocked > (
SELECT avg(quantity_stocked)
FROM products
GROUP BY product_id
LIMIT 1
);
剩余代码:
CREATE TABLE products
(
product_ID int(10) UNIQUE,
product_name varchar(30) NOT NULL,
quantity_stocked int(5),
product_cost dec(8,2) NOT NULL,
PRIMARY KEY (product_ID)
);
INSERT INTO products VALUES
(452,'Nike SS Pro Top',418, 22.99),
(861,'Nike LunarGlide 7',1082, 74.99),
(453,'Nike LS Pro Top',654, 64.99),
(454,'Nike SS Pro Top',720, 64.99),
(451,'Nike Pro Tank',480, 45.99),
(485,'Nike 5k Run Short',1402, 24.99),
(582,'Nike Fit Capri',750, 29.99),
(591,'Nike Be Fast Tight',1948, 39.99),
(847,'Nike Legend Tee',120, 34.99),
(277,'Nike Miller v-neck',1920, 44.99),
(135,'Adidas Soccer Pant',630, 34.99),
(456,'Adidas SS Breathe Top',754, 19.99),
(457,'Adidas Pro Cleat',626, 44.99),
(214,'Adidas Slide',902, 19.99),
(054,'Underarmor SL Top',854,54.99),
(059,'Undersarmor LS High Neck',1021,54.99),
(574,'Underarmor TR Short',746,24.99),
(421,'Underarmor TR Balance Shoe',858,84.99);
【问题讨论】:
-
看到一个关于调试的问题令人耳目一新,所有组件都已到位,可以回答!
-
我一直在努力解决我的问题! :) 很高兴它到了那里!