Row Number function in SQL Server

About this tutorial:

Video duration: 7:24
sql server row_number example
sql server row number by partition
sql server row_number over partition by order by

In this video we will discuss Row_Number function in SQL Server. This is continuation to Part 108. Please watch Part 108 from SQL Server tutorial before proceeding.

Row_Number function
Introduced in SQL Server 2005
Returns the sequential number of a row starting at 1
ORDER BY clause is required
PARTITION BY clause is optional
When the data is partitioned, row number is reset to 1 when the partition changes

Syntax : ROW_NUMBER() OVER (ORDER BY Col1, Col2)


Post Author:

Apple lover, ICT and LEAN consultant, MS Office lecturer My other website with video tutorials - Tutorials, guides and news for iPhones and iPads

28 thoughts on “Row Number function in SQL Server

    Bing Wu

    (October 19, 2019 - 2:37 pm)

    Hey, Kudvenkat. Just want to leave a message to you. Your tutorial is the best I've ever seen. Thank you so much!


    (October 19, 2019 - 2:37 pm)

    Hey guys help me how to find odd rows and even rows

    Ashraf Omer

    (October 19, 2019 - 2:37 pm)

    Thanks Venkat it was well don Tutorial

    Huiqing Xu

    (October 19, 2019 - 2:37 pm)

    You are amazing!


    (October 19, 2019 - 2:37 pm)

    Thank you Venkat. You are helping me a lot. Please make a video how we can rollback our database to a given point.

    Abhishek Kumar

    (October 19, 2019 - 2:37 pm)

    Wow. You explain like a G!!! Gang gang. God bless

    bahadir ezici

    (October 19, 2019 - 2:37 pm)

    God bless you!

    Emmanuel Stefani

    (October 19, 2019 - 2:37 pm)

    me si sirvio bastante, a pesar de estar en ingles , logre enteder la idea del ROW NUMBER . Muchas gracias

    Alam Syed

    (October 19, 2019 - 2:37 pm)

    I was looking for this thank you so much

    Kartik Mondal

    (October 19, 2019 - 2:37 pm)

    Thank u sir.

    Loay Oraby

    (October 19, 2019 - 2:37 pm)

    thanx alot your videos is helping me

    Brindha Ganesan

    (October 19, 2019 - 2:37 pm)

    Cystal clear explanation!

    Ashutosh Hegde

    (October 19, 2019 - 2:37 pm)

    thank you Venkat Sir

    Evgeny R

    (October 19, 2019 - 2:37 pm)

    Great!! Thanks!

    Monsieur Green

    (October 19, 2019 - 2:37 pm)

    This helped me a lot, thanks!

    Kamil D

    (October 19, 2019 - 2:37 pm)

    very helpful thanks kudvenkat!

    dollar menu

    (October 19, 2019 - 2:37 pm)

    well explained

    Moshir Fakhoury

    (October 19, 2019 - 2:37 pm)

    Hi, thanks for the video, this seems like a very simple function, i have tried it and it seems like its working by its actually returning an empty column, this is my exact code: ROW_NUMBER() OVER (PARTITION BY orddet_nl.invnum ORDER BY orddet_nl.invnum ASC) AS LineReference,

    i dont get any error messages or anything, but it just brings an empty column, any ideas why?



    (October 19, 2019 - 2:37 pm)

    very good video, flawless

    William Harrison

    (October 19, 2019 - 2:37 pm)

    Great video. Could you also use Row_Number as a means to replace a cursor? How would that effect query performance?

    Amit Bhardwaj

    (October 19, 2019 - 2:37 pm)

    I am using SQL community version 5.5.57, Could you please tell me why i am getting below error? Thanks in advance:)

    mysql> select * from userinfo;
    | loginId | password | access |
    | z011111 | A1 | User |
    | z021720 | ram99 | Manager |
    | z021721 | demo | User |
    5 rows in set (0.00 sec)

    mysql> select *, row_number() over(order by loginId) as rowNumber from userinfo;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(order by loginId) as rowNumber from userinfo' at line 1

    Tenzin Yonten

    (October 19, 2019 - 2:37 pm)

    GREAT TEACHER! I have been using your videos to reference SQL where I have no clues. Thanks for all your hard works!

    Rifaqat Ullah

    (October 19, 2019 - 2:37 pm)


    Paul Lockey

    (October 19, 2019 - 2:37 pm)

    I have seen several of you videos that reference Partition. What does that do?

    Krzysztof S

    (October 19, 2019 - 2:37 pm)

    Row number rules ! And Venkat rules! You are the best teacher on youtube and in the whole world. I saw all your videos from SQL Server tutorial. Thank U for educating community! God bless you.

    Mahendra Singh Baghel

    (October 19, 2019 - 2:37 pm)

    can we use one more where clause with row number…?


    (October 19, 2019 - 2:37 pm)

    Really well explained. Thank you. I really appreciate that you explained the use of it, more people should add that 'cause it's not always clear.

    Lenin Mishra

    (October 19, 2019 - 2:37 pm)

    Hi Venkat,

    I have data that has following rows….

    2934046 Kellogg’s Share Your Breakfast 74672 2407522 Kellogg?s Share Your Breakfast ACTIVE 2015-09-01 9999-12-31
    2934046 Kellogg?s Share Your Breakfast 74672 2407522 Kellogg?s Share Your Breakfast ACTIVE 2015-09-01 9999-12-31

    You can see that both rows are the same except for the question mark in the second row. I have to remove such rows from my table. I was trying to use row_number for this, but it doesn't work. Is there any way i can rank such rows based on the characters in my second column…

Leave a Reply

Your email address will not be published. Required fields are marked *