1. ホーム
  2. sql

[解決済み] group by節で列の順序は重要ですか?

2023-03-11 20:33:18

質問

2 つの列があり、1 つは非常に高いカーディナリティ、もう 1 つは非常に低いカーディナリティ (値のユニーク数) である場合、どの順序でグループ化するかは重要ですか?

以下はその例です。

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 は私が知っている唯一のデータベースで、Group By から省略されたカラムを選択することができます(非標準、移植不可)が、そこでも順序は重要ではありません。