mysql - 保存结果以在 sql 查询中再次使用它

标签 mysql

我有以下查询:

SELECT (A+B)*C whole, (A+B)*C/2 half FROM MY_TABLE

有什么办法可以保存(A+B)*C的结果,这样sql db就不用计算两次了吗?

最佳答案

好吧,您可以将结果存储在变量中。

SELECT @whole := (A+B)*C whole, @whole / 2 half 
FROM MY_TABLE
CROSS JOIN (SELECT @whole := null) var_init_subquery

但我怀疑这是否会(显着)加快速度。就像我在您的其他问题中所说的那样,这种“优化”应该是您最不关心的问题(如果有的话)。

关于mysql - 保存结果以在 sql 查询中再次使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25971659/

相关文章:

php - 如何将图像从React Native上传到MySQL数据库?

php - 使用 php 和 mysql 的简单 html 表单。如何维护数据库中空字段的 NULL 值

java - Google App Engine 在与 Java 相同的项目中查询 MySQL

sql - 简单的SQL问题(mysql)

php - 有没有更好的方法可以在 SQL 中一次从 3 个用户名获取电子邮件?

java - 百万条记录的增量更新

php - 如何查询从单个字符串提取的多个术语的数据库

mysql - SELECT 同一列不同的AS

java - Spring 3 DataSourceTransactionManager 在将事务获取到 MySQL 时偶尔超时

python - 创建表条目 "A"时,SQLAlchemy 自动在表 "B"中创建条目