使用agg func而不是group by

时间:2017-03-16 18:26:20

标签: sql database oracle performance oracle11g

如果你有一个很长的选择列表和最后一列的总和(当时结束时的情况),你需要将所有选定的列放在组中。或者你可以在select中的每一列周围放置一个像min,max ......这样的聚合函数来避免分组依据。是否有理由使用一种方法而不是另一种方法?

Oracle 11g

select
  a.col0,
  a.col1,
  a.col2,
  a.col3,
  sum(a.aggcol)
from...
where...
group by
  a.col0,
  a.col1,
  a.col2,
  a.col3
;

OR

select
  a.col0,
  min(a.col1),
  min(a.col2),
  min(a.col3),.....
  sum(a.aggcol)
from...
where...
group by
  a.col0
;

0 个答案:

没有答案