使用 SUM 的 MYSQL 查询

标签 mysql

如何从 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'

wheregrouping 和 summing 发生之前求值,having 在结果集上求值,之后记录被过滤和分组

关于使用 SUM 的 MYSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723710/

相关文章:

php - 如何在同一个字幕中显示所有图像?

java - 在与 MySQL 的 JDBC 连接中,环境变量 OPENSHIFT_MYSQL_DB_HOST 不起作用

php - 使用 PHP 将 HTML 表单数据插入 MySQL 数据库

mysql - MySQL如何知道一个段落包含多少个单词?

mysql - 在不知道行名称的情况下删除多行

php - 无法在 MySQL 中动态创建表

mysql - 插入+选择: Inserting X entries depending on an IN result

php - Codeigniter - 从许多表中获取数据

.net - 数据集设计器在 Visual Studio 2012 迁移后停止工作

MySQL INSERT INTO table 1 SELECT table 2 with different column name