SQLはROW_NUMBER() OVER関数を使用してシーケンス番号を生成します。

SQLはROW_NUMBER() OVER関数を使用してシーケンス番号を生成します。

構文: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
簡単に言うと、 ROW_NUMBER()は 1 から始まり、グループ化されたレコードごとに番号を返します。ここで、 ROW_NUMBER() OVER (ORDER BY CYLH DESC) 、まず xlh 列を降順で並べ替え、次に降順後の各 CYLH レコードのシリアル番号を返します。

例:

分析: ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) PARTITION BY COL1 ORDER BY COL2 ) は、COL1 でグループ化し、グループ内で COL2 でソートすることを意味します。この関数によって計算される値は、各グループ内でソートした後のシーケンス番号を表します (グループ内で連続かつ一意)

次のように使用することもできます: ROW_NUMBER() OVER (ORDER BY COL2)

例子:

テストテーブルを作成し、テストデータを挿入する

 テーブルTEST_ROW_NUMBER_01を作成します(
       CMZH varchar(10) NULLではない、
       CYLH varchar(10) null、
       MJE マネー ヌル、
);


TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) に値 (2106000011,20281997,10.50) を挿入します
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) VALUES(2106000010、20281996、10.50) に挿入します。
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) VALUES(2106000008、20281995、0.00) に挿入します。
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) VALUES(2106000006、20281994、9.50) に挿入します。
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) VALUES(2106000004、20281993、5.50) に挿入します。
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) VALUES(2106000001、20281992、10.50) に挿入します。
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) VALUES(2106000002、20281992、10.50) に挿入します。
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) に値(2106000007、20217280、0.00) を挿入します
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) VALUES(2106000009、20172458、5.50) に挿入します。
TEST_ROW_NUMBER_01(CMZH、CYLH、MJE) に値(2106000005、20121813、0.00) を挿入します


スクリプトを実行すると、行番号が自動的に生成され、CYLH で並べ替えられます (スワイプするとコードが表示されます)

ROW_NUMBER() OVER(ORDER BY CYLH DESC) AS ROWNUM,* FROM TEST_ROW_NUMBER_01 を選択


結果は次のとおりです。

注意: overなどのウィンドウ関数を使用する場合、 overでのgroup byと並べ替えは、「 where 、 group by 、 order by 」の実行よりも後に実行されます。

これで、SQL ROW_NUMBER() OVER 関数を使用してシリアル番号を生成する方法についての説明は終わりです。SQL ROW_NUMBER() OVER を使用してシリアル番号を生成する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • データベースページングを解析する 2 つの方法の比較 (row_number()over() と top の比較)
  • SQL Serverは日付と数字を組み合わせたシリアル番号を自動的に生成します。

<<:  JSscriptタグの属性は何ですか

>>:  HTML+CSS を使用して、画像の右上隅に削除の十字と画像削除ボタンを追加します。

推薦する

Firebug ツールを使用して iPad でページをデバッグする

iPad でページをデバッグするにはどうすればいいですか? iOS 5 をご利用の場合、iPad の...

MySqlデータベースをバックアップするいくつかの方法

mysqldump ツールのバックアップデータベース全体をバックアップする $> mysqld...

Docker に influxdb をインストールするための詳細なチュートリアル (パフォーマンス テスト)

1. 前提条件1. プロジェクトが展開されました2. Dockerはすでにインストールされている2...

MySQLの分離レベルとロックメカニズムの詳細な説明

目次簡単な説明: 1. 取引の4つの特徴2. 複数の同時トランザクションによって発生する問題3. ト...

Vueは商品詳細ページの商品タブ機能を実装します

この記事の例では、商品詳細ページ機能を実現するためのVueの商品タブの具体的なコードを参考までに共有...

CocosCreator の新しいリソース管理システムの分析

目次1. 資源と建設1.1 クリエイターリソースファイルの基本1.2 リソースの構築2. アセットバ...

Docker を使用して pypi プライベート リポジトリを構築する方法

1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...

Dockerコンテナでユーザーを切り替えるときに権限が不足する問題を解決する方法

Docker コンテナでユーザーを切り替えると、権限が不十分であるというメッセージが表示されます。解...

シンプルな時計を実装するJavaScript

この記事では、JavaScriptでシンプルな時計を実装するための具体的なコードを参考までに紹介しま...

Dockerを使用してMQTTサーバーを構築するプロセスの詳細な説明

1. イメージをプルするdocker pull registry.cn-hangzhou.aliyu...

MySQL スケジュールタスク例チュートリアル

序文MySQL 5.1.6 以降、非常にユニークな機能であるイベント スケジューラが追加されました。...

MySQL マスタースレーブレプリケーションの実践の詳細説明 - GTID ベースのレプリケーション

GTIDベースのレプリケーション導入GTID ベースのレプリケーションは、MySQL 5.6 以降に...

JavaScript スコープチェーンの基本原理のグラフィカルな説明

目次序文範囲1. スコープとは何ですか? 2. [[スコープ]] プロパティ3. スコープチェーン4...

MySQLにおける正規表現の一般的な使用法

MySQL における Regexp の一般的な使用法特定の文字列を含むあいまい一致# コンテンツフィ...

jQueryは、マウスをドラッグしてdivの位置とサイズを変更する方法を実装しています。

Windows フォームと同様の効果を得るには、中央をドラッグして div の位置を変更し、端をド...