ウィンドウ関数

TiDB でのウィンドウ関数の使用法は、MySQL 8.0 での使用法と似ています。詳細はMySQL ウィンドウ関数を参照してください。

ウィンドウ関数はパーサー内に追加の単語を予約するため、TiDB はウィンドウ関数を無効にするオプションを提供します。アップグレード後に SQL ステートメントの解析中にエラーが発生した場合は、 tidb_enable_window_function=0を設定してみてください。

ウィンドウ関数ここにリストされています TiFlashにプッシュダウンできます。

GROUP_CONCAT()APPROX_PERCENTILE()を除く、TiDB はGROUP BY集計関数すべてサポートします。さらに、TiDB は次のウィンドウ関数をサポートします。

関数名機能の説明
CUME_DIST()値のグループ内の値の累積分布を返します。
DENSE_RANK()パーティション内の現在の行のランクを返します。ランクにはギャップがありません。
FIRST_VALUE()現在のウィンドウの最初の行の式の値を返します。
LAG()パーティション内で現在の行から N 行前にある行から式の値を返します。
LAST_VALUE()現在のウィンドウの最後の行の式の値を返します。
LEAD()パーティション内の現在の行から N 行後の行から式の値を返します。
NTH_VALUE()現在のウィンドウの N 行目の式の値を返します。
NTILE()パーティションを N 個のバケットに分割し、パーティション内の各行にバケット番号を割り当て、パーティション内の現在の行のバケット番号を返します。
PERCENT_RANK()現在の行の値より小さいパーティション値の割合を返します。
RANK()パーティション内の現在の行のランクを返します。ランクには誤差がある場合がございます。
ROW_NUMBER()パーティション内の現在の行の番号を返します。

このページは役に立ちましたか?