ホームページ >データベース >mysql チュートリアル >Microsoft Access で ROW_NUMBER() 機能をシミュレートする方法
MS Access での行番号機能の実現
連続番号を割り当てるために SQL で一般的に使用される「ROW_NUMBER OVER (PARTITION BY)」関数結果セットのパーティション内で、自己結合を使用して Microsoft Access でエミュレートでき、 aggregation.
次のデータ セットを考えてみましょう:
DOC_TYPE Ino 3a 1800xxc1 3b 1810xxc2 3c 1700xxc3 3a 1700xxc4 3a 1800xxc5 3a 1800xxc6 3b 1800xxc7
「ROW_NUMBER」の動作を複製するには、次のようなクエリを使用できます:
SELECT t1.DOC_TYPE, t1.Ino, COUNT(*) AS RowNum FROM YourTable AS t1 INNER JOIN YourTable AS t2 ON t2.DOC_TYPE = t1.DOC_TYPE AND t2.Ino <= t1.Ino GROUP BY t1.DOC_TYPE, t1.Ino ORDER BY 1, 3
このクエリDOC_TYPE 列でテーブルを自己結合し、Ino 値の小なり等しい比較を行います。次に、DOC_TYPE と Ino ごとに行を集計し、一意の各 DOC_TYPE、Ino ペアの出現数をカウントします。 RowNum エイリアスに割り当てられた結果のカウントは、連続する行番号を表します。
このクエリをサンプル データに適用すると、次の結果が生成されます:
DOC_TYPE Ino RowNum 3a 1800xxc1 1 3a 1700xxc4 2 3a 1800xxc5 3 3a 1800xxc6 4 3b 1810xxc2 1 3b 1800xxc7 2 3c 1700xxc3 1
以上がMicrosoft Access で ROW_NUMBER() 機能をシミュレートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。