如果我有两列,一列具有非常高的基数,而另一列具有非常低的基数(值的唯一数目),那么按哪个顺序分组是否重要?
这是一个例子:
select dimensionName, dimensionCategory, sum(someFact) from SomeFact f join SomeDim d on f.dimensionKey = d.dimensionKey group by d.dimensionName, -- large number of unique values d.dimensionCategory -- small number of unique values
在某些情况下重要吗?
不,顺序对于GROUP BY子句无关紧要。
MySQL和SQLite是我所知道的仅有的数据库,它允许您选择按组方式(非标准,不可移植)从组中省略的列,但是顺序也不重要。