巨大なデータベースでいくつかの行を集約する必要があり、それらを 2 乗 n に基づいてグループ化する必要があります。例: 最初に 1 行、次に 2 行、次に 4 行などを集計する必要があります。
この場合、group by の使い方を教えてくれる人はいますか?
ありがとう
巨大なデータベースでいくつかの行を集約する必要があり、それらを 2 乗 n に基づいてグループ化する必要があります。例: 最初に 1 行、次に 2 行、次に 4 行などを集計する必要があります。
この場合、group by の使い方を教えてくれる人はいますか?
ありがとう
行番号の対数底 2 は、必要なグループ化を提供します。
SQLサーバーでは、これを行うことができます
select floor(log((ROW_NUMBER() over (order by someColumn))) / log(2))
from yourTable
SqlServer 2012 には、ログのベースの 2 番目のパラメーターを受け入れるログ関数がありますが、その前に、ログ ベース 10 (log10 関数) または自然対数 (ログ関数) からログ ベース 2 に変換する必要があります。ここで変換式を見つけました