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

推薦する

Vueでショッピングカートのすべての機能を実装する簡単な方法

主な機能は次のとおりです。製品情報を追加する製品情報を変更する単一の製品を削除する複数の製品を削除す...

Linux の EXT シリーズファイルシステムフォーマットの詳細な説明

Linux ファイルシステム一般的なハードディスクは上図のとおりです。各ディスクは複数のトラックに分...

Win10 + Ubuntu20.04 LTS デュアルシステムブートインターフェースの美化

エフェクト表示組み込みのブートインターフェースがあまりにも醜いので、テーマをダウンロードして美しくし...

js を使用してシンプルなスイッチ ライト コードを実装する

体の部位: <button>ライトのオン/オフを切り替える</button>...

Node.js+express+socket でオンラインのリアルタイム多人数チャットルームを実現

この記事では、オンラインリアルタイム多人数チャットルームを実現するためのNode.js+expres...

Centos で MySQL パスワードを変更する方法

1. MySQL ログイン設定を変更します。 # vim /etc/my.cnf文を追加: skip...

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

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

HTML2 キャンバス SVG が認識されない場合の解決策

ウェブページを画像としてキャプチャする新機能があったので、人気のhtml2canvasを使ってみまし...

Iframe の内外のページで JS がどのように動作するかの概要

目次iframeの外側のiframeのコンテンツを取得する方法1方法2 iframe 内の ifra...

NginxにLuaモジュールを追加する方法

luaをインストールする http://luajit.org/download/LuaJIT-2.0...

ハッシュテーブルのJavaScript実装の詳細な説明

目次1. ハッシュテーブルの原理2. ハッシュテーブルの概念3. ハッシュ競合問題1. チェーンアド...

JavaScriptの再帰の詳細

目次1. 再帰とは何ですか? 2. 再帰を使って数学の問題を解く1. 1 * 2 * 3 * 4 …...

XHTML+CSS Web ページ作成における美しいスタイルシートの適用

これはかなり前に書かれた記事です。今となっては、その中の考え方は学ぶ価値があるように思えます。jb5...

JavaScript でグレイウルフのポットビーティングゲームを実装

1. プロジェクト文書 2. ページレイアウトにHTMLとCSSを使用するHTML部分 <di...

適応的な幅と高さを持つ9つの正方形グリッドの背景画像の切り取りの分析

<br />幅と高さが適応するオリジナルの 9 グリッド レイアウトをベースに、ネットワ...