ホームページ >データベース >mysql チュートリアル >Microsoft Access で ROW_NUMBER() 機能をシミュレートする方法

Microsoft Access で ROW_NUMBER() 機能をシミュレートする方法

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-02 13:12:38245ブラウズ

How to Simulate ROW_NUMBER() Functionality in Microsoft Access?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。