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 を使用して、画像の右上隅に削除の十字と画像削除ボタンを追加します。

推薦する

MYSQL row_number() および over() 関数の詳細な使用方法

構文フォーマット: row_number() over(partition by grouping ...

Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...

ハイパーリンクを表示して開く方法

<br />インターネット上の無数の情報は基本的に HTML ドキュメントで構成されてお...

Node-Redを使用してMySQLデータベースに接続する方法

Node-red をデータベース (mysql) に接続するには、まずコンピューターに MySQL ...

MySQL を暗号化および復号化するいくつかの方法 (要約)

目次前面に書かれた双方向暗号化エンコード/デコードAES_ENCRYPT/AES_DECRYPT D...

固定テーブル幅テーブルレイアウト: 固定

テーブルを画面全体(残りの空白領域)に表示するために、幅属性は 100% と定義されることが多く、セ...

DockerはRedisを起動し、パスワードを設定します

RedisはRedisバージョン5のapline(Alps)イメージを使用します。これは小さくて高速...

ナビゲーションバーコンポーネントをVueでカプセル化する

はじめに:ナビゲーション バーなどのコンポーネント ベースのアイデアを使用して機能モジュールを完全に...

Ubuntu 18.04の下のディレクトリにディスクをマウントします

導入この記事では、Ubuntu 18.04 デスクトップ システムでディスクを目的のディレクトリにマ...

MySQL 学習のまとめ: InnoDB ストレージ エンジンのアーキテクチャ設計の予備的な理解

1. ストレージエンジン前のセクションでは、SQL 実行プランは、エグゼキュータ コンポーネントがス...

vue router-view のネストされた表示実装

目次1. ルーティング構成2. Vueページのネスト3. ネストされた関係1. ルーティング構成 定...

MySQL の int(n) の後の n はどういう意味ですか?

int(1) の長さ 1 は、許可されたストレージ幅を表していないことはすでにご存知かもしれません...

jsは画像切り取り機能を実現する

この記事の例では、画像の切り取りを実現するためのjsの具体的なコードを参考までに共有しています。具体...

CSS3 で画像ドロワー効果を実装するためのサンプル コード

いつものように、まずは画像効果を投稿しましょう: このエフェクトの原理は非常にシンプルです。CSS3...