我正在尝试计算数据库中某些产品的总数量,我正在尝试列出所有数量为 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/