有没有办法在sql中只计算一次重复计算? [英] Is there a way to calculate repeating calculations only once in sql?
本文介绍了有没有办法在sql中只计算一次重复计算?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用 JDBC 来查询多次包含相同计算的查询.例如:
I use JDBC to query where the query contains the same calculations several times. for example:
SELECT
DATE(CONVERT_TZ(FROM_UNIXTIME(my_time + timezone_offset * 60), @@session.time_zone, '+00:00')),
UNIX_TIMESTAMP(DATE(CONVERT_TZ(FROM_UNIXTIME(my_time + timezone_offset * 60), @@session.time_zone, '+00:00')))
FROM my_table;
我可以在不进行多次计算的情况下以某种方式完成吗?
Can I somehow do it without making the calculations several times?
(这样会提高性能,而且代码看起来更干净)
(It will make performance better, and also the code will look cleaner)
推荐答案
可以使用派生表(FROM 子句中的子查询):
You can use a derived table (sub-query in FROM clause):
select mydate, UNIX_TIMESTAMP(mydate)
from
(
SELECT
DATE(CONVERT_TZ(FROM_UNIXTIME(my_time + timezone_offset * 60), @@session.time_zone, '+00:00')) as mydate,
FROM my_table
);
这篇关于有没有办法在sql中只计算一次重复计算?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文