DENSE_RANK() を使用して個別の行番号を取得する SQL クエリ
SQL では、通常、一意の (個別の) 値の検索は DISTINCT を使用して行われます。キーワード。ただし、これらの個別の値の行番号を表示する必要がある場合、DISTINCT だけを使用するだけでは不十分な場合があります。
指定されたコード内:
SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum FROM table WHERE fid = 64
DISTINCT キーワードは重複する ID 値を削除しますが、 ROW_NUMBER() 関数は、結果セット内の各レコードに一意の行番号を割り当てます。したがって、これは個別の値を識別するのには役に立ちません。
目的の結果を達成するには、代わりに DENSE_RANK() 関数を使用できます。
SELECT DISTINCT id, DENSE_RANK() OVER (ORDER BY id) AS RowNum FROM table WHERE fid = 64
DENSE_RANK() 関数は個別のランクを割り当てます。行番号のギャップを無視して、それぞれの一意の ID 値に対応します。これにより、結果セット内の個別の値に一意の行番号が提供されます。
以上がDENSE_RANK() を使用して SQL で個別の行番号を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。