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

推薦する

ユニアプリとミニプログラム(画像とテキスト)を下請けする方法を教えます

目次1. ミニプログラム下請け2. Uniapp 下請けアプレット下請けの手順: 1. manife...

H5でクリックされたときにaタグの背景色をキャンセルする方法

1. モバイル端末でクリックされたときにタグの青色を解除する { -webkit-tap-highl...

SQLのさまざまな結合サマリーの詳細な説明

SQL 左結合、右結合、内部結合、自然結合 さまざまな結合の概要SQL には、左結合、右結合、内部結...

Web スライスとは何ですか?

IE8 の新機能 Web スライス (Web スライス) Microsoft は 3 月 20 日...

Docker に nginx をインストールし、https 経由でアクセスを構成する方法

1. 最新のnginx dockerイメージをダウンロードする $ docker pull ngin...

Nginx を使用して IP アドレスが悪意を持って解決されるのを防ぐ方法

Nginxを使用する目的Alibaba Cloud ECS クラウド サーバーを使用して、まずは著者...

Excel をインポートするときに js で時間を変換する正しい方法について

目次1. 基本2. 問題の説明3. 解決策付録: js を使用して Excel の日付形式を変換する...

ページコードの変更の効率を向上させ、HTML言語のコア知識を習得します。

ウェブサイトを構築するとき、HTML 言語は重要ではないと思われるかもしれませんが、実際には、基本的...

ウェブサイトに最も必要なのは、ターゲットユーザーグループのエクスペリエンスを向上させることです。

「大河は東に流れ、波は歴代の英雄たちを洗い流した。古城の西側は三国時代の周朗の赤壁だと言われている...

設計仕様に準拠した設計は良い設計でしょうか?

これまでの数年間、私はいわゆる「設計仕様」についてかなりの数の執筆やコンサルティングを行ってきました...

nginx をシャットダウン/再起動/起動する方法

閉鎖サービス nginx 停止systemctl 停止 nginx起動するサービス nginx 開始...

CSSはリストのスタイルを設定し、ナビゲーションメニューの実装コードを作成します。

1. リストシンボルを設定するlist-style-type: attribute; //リストの...

効率をN倍に高めるVimクイックリファレンステーブル15個

昨年の前半から開発と娯楽のために Linux を使い始めましたが、今では Windows には戻れま...

ネイティブ CSS で無限テキストカルーセルを実装する一般的な方法

テキストカルーセルは私たちの日常生活で非常に一般的です。スーパーマーケットや実店舗の入り口には、テキ...

MySQLに画像を保存する方法

1 はじめにデータベースを設計する場合、画像や音声ファイルをデータベースに挿入することは避けられませ...