我正在分析其他人的代码并偶然发现了这样的查询:
SELECT ...
FROM ...
GROUP BY date_field + 1
此查询与以下内容之间有何区别?
SELECT ...
FROM ...
GROUP BY date_field
如果两个查询的结果相同,那么它们在性能方面是否不同?提前谢谢。
答案 0 :(得分:1)
逻辑上没有区别。原始代码可能有类似的内容:
select date_field + 1, . . .
from . . .
group by date_field + 1;
group by
键然后直接匹配select
中的表达式。但是,这不是必需的。 SQL支持group by
键上的表达式,而+ 1
不会影响结果。
可能会影响执行计划。我对Teradata中的优化引擎并不过分熟悉,但我想到了两件事:
date_field
上的索引。