mysql - 如何在 WHERE 子句中使用计算列?

标签 mysql

我正在尝试计算数据库中某些产品的总数量,我正在尝试列出所有数量为 3000 或更多的产品....

所以我做了这样的查询:

SELECT (
products_width * products_height * products_length
) AS total_volume
FROM `price`
where total_volume > 3000

但是我收到一条错误,指出 where 子句中不存在“total_volume”列,您能让我知道如何解决此问题吗?

最佳答案

尝试:

SELECT (
    products_width * products_height * products_length
) AS total_volume
FROM `price`
HAVING total_volume > 3000

SELECT *
FROM(
    SELECT (
        products_width * products_height * products_length
    ) AS total_volume
    FROM `price`
)
WHERE total_volume > 3000

为了说明,您不能直接在 where 子句中使用 total_volume,因为它是在查询的选择部分中创建的。在这种情况下可以使用having,或者您也可以使用子查询。

关于mysql - 如何在 WHERE 子句中使用计算列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265075/

相关文章:

php - 如何正确使用连接/子查询从多个表中选择数据? (PHP-MySQL)

Mysql查询: Where clause if Exists

php - Mysql表达式按日期描述从数据库中选择所有内容

.net - 如何确保从 mysql 数据库中提取的数据在 Mssql 和 SSIS 中被识别?

mysql - 如何使用别名列加快此查询的速度?

c# - MySQL 访问拒绝 C# 应用程序但不访问工作台

mysql - 有没有办法为 mysql 列添加多个外键,但它们应该引用其他表中的行?

mysql - 什么 "other features"可以合并到火车数据库中?

c# - 在 C# 中实现 MYSQL 通知系统失败

php生成json数组然后javascript将其显示出来