如何从 ON_HAND VALUE 列中选择 7500 或更大值?
“列出每个现有值(value)至少为 7,500 美元的部件的部件号、部件描述和现有值(value)。将 ON_HAND_VALUES 指定为计算列。”
这是我目前所拥有的,我尝试了子查询 IN 语句,但我无法弄清楚。
SELECT PART_NUM, DESCRIPTION, SUM(ON_HAND * PRICE) AS ON_HAND_VALUE
FROM PART
WHERE SUM(ON_HAND * PRICE)'7500'
GROUP BY PART_NUM, DESCRIPTION;
零件表
PART_NUM DESCRIPTION ON_HAND CLASS WAREHOUSE PRICE
AT94 Iron 50 HW 3 24.95
BV06 Home Gym 45 SG 2 794.95
CD52 Microwave Oven 32 AP 1 165.00
DL71 Cordless Drill 21 HW 3 129.95
DR93 Gas Range 8 AP 2 495.00
DW11 Washer 12 AP 3 399.99
FD21 Stand Mixer 22 HW 3 159.95
KL62 Dryer 12 AP 1 349.95
KT03 Dishwasher 8 AP 3 595.00
KV29 Treadmill 9 SG 2 1390.00
最佳答案
你不能使用 where
,你必须使用 having
和聚合函数:
SELECT PART_NUM, DESCRIPTION, SUM(ON_HAND * PRICE) AS ON_HAND_VALUE
FROM PART
GROUP BY PART_NUM, DESCRIPTION;
HAVING SUM(ON_HAND * PRICE)'7500'
where
在 group
ing 和 sum
ming 发生之前求值,having
在结果集上求值,之后记录被过滤和分组
关于使用 SUM 的 MYSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723710/