SQL uses ROW_NUMBER() OVER function to generate sequence number

SQL uses ROW_NUMBER() OVER function to generate sequence number

Syntax: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
Simply put, ROW_NUMBER() starts from 1 and returns a number for each grouped record. Here, ROW_NUMBER() OVER (ORDER BY CYLH DESC) first sorts the xlh column in descending order, and then returns a serial number for each CYLH record after the descending order.

Example:

Analysis: ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) PARTITION BY COL1 ORDER BY COL2 ) means grouping by COL1 and sorting by COL2 within the group. The value calculated by this function represents the sequence number after sorting within each group (continuous and unique within the group)

Can also be used like this: ROW_NUMBER() OVER (ORDER BY COL2)

例子:

Create a test table and insert test data

 CREATE TABLE TEST_ROW_NUMBER_01(
       CMZH varchar(10) not null,
       CYLH varchar(10) null,
       MJE money null,
);


INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES (2106000011,20281997,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000010,20281996,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000008,20281995,0.00)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000006,20281994,9.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000004,20281993,5.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000001,20281992,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000002,20281992,10.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000007,20217280,0.00)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000009,20172458,5.50)
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000005,20121813,0.00)


Execute the script to automatically generate line numbers and sort by CYLH (swipe to view the code)

SELECT ROW_NUMBER() OVER(ORDER BY CYLH DESC) AS ROWNUM,* FROM TEST_ROW_NUMBER_01


The results are as follows:

Note: When using window functions such as over , group by and sorting in over are executed later than the execution of " where , group by, order by ".

This is the end of this article about using SQL ROW_NUMBER() OVER function to generate serial numbers. For more information about using SQL ROW_NUMBER() OVER to generate serial numbers, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Comparison of two methods for parsing database paging (comparison between row_number()over() and top)
  • SQL Server automatically generates a serial number with a date plus a number

<<:  What are the attributes of the JSscript tag

>>:  Introduction and use of five controllers in K8S

Recommend

Example code for converting Mysql query result set into JSON data

Mysql converts query result set into JSON data Pr...

Nginx high concurrency optimization practice

1. Necessity of Tuning​ I have always been reluct...

HTML table tag tutorial (8): background image attribute BACKGROUND

Set a background image for the table. You can use...

How to install pip package in Linux

1. Download the pip installation package accordin...

How to use map to allow multiple domain names to cross domains in Nginx

Common Nginx configuration allows cross-domain se...

Example of how to identify the user using a linux Bash script

It is often necessary to run commands with sudo i...

What is the function of !-- -- in HTML page style?

Mainly for low version browsers <!-- --> is ...

How to encapsulate axios in Vue project (unified management of http requests)

1. Requirements When using the Vue.js framework t...

Pure HTML and CSS to achieve JD carousel effect

The JD carousel was implemented using pure HTML a...

A brief discussion on mysql backup and restore for a single table

A. Installation of MySQL backup tool xtrabackup 1...

JavaScript design pattern chain of responsibility pattern

Table of contents Overview Code Implementation Pa...

HTML5+CSS3 coding standards

The Golden Rule No matter how many people are wor...

Process analysis of deploying ASP.NET Core applications on Linux system Docker

Table of contents 1. System environment 2. Operat...