Home >Database >Mysql Tutorial >How to Add Row Numbers and Get the Total Row Count in MySQL SELECT Statements?
Add row number in MySQL SELECT statement and get total number of rows
When working with sorted data, it is useful to get the row number to identify the rank or order of a specific item. In MySQL, this can be achieved using pure SQL methods.
Suppose there is a table named "orders" with two columns: "orderID" and "itemID". To calculate the order quantity for each unique itemID, you can execute the following query:
<code class="language-sql">SELECT itemID, COUNT(*) AS ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
This query provides itemID and its corresponding order count. To add row numbers, there is a technique to initialize and increment a user-defined variable (@rank) in the query:
<code class="language-sql">SET @rank=0; SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) AS ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
Reset the rank variable before the query starts ranking items by adding "SET @rank=0;" The "@rank:=@rank 1" expression increments the rank variable for each row, effectively assigning row numbers to items.
However, the above query does not display the total number of rows. To get this information, you can execute another query after the main query:
<code class="language-sql">SELECT @rank;</code>
This will output the total number of sorted rows, thus providing the row number and count. This way you can add row numbers to your query and get a clearer picture of the order and ranking of data in MySQL.
The above is the detailed content of How to Add Row Numbers and Get the Total Row Count in MySQL SELECT Statements?. For more information, please follow other related articles on the PHP Chinese website!