Lesson 04 � Sort & Limit

DATA SORT KARO,
SIRF ZARURI DIKHAO.

SELECT se data aa gaya�lekin kya order sahi hai✓ Kabhi top performers dikhne hain, kabhi latest records chahiye. ORDER BY se rows ko sort karo, LIMIT se sirf top N results rakho.

? 16 min✓ Beginner✓ Prerequisite: WHERE

WHY: ORDER BY kyun zaruri hai?

Socho ek school database hai jisme 500 students hain. Aapko top 10 students dikhane hain marks ke hisaab se. Bina ORDER BY ke aapko saare records milenge kisi order mein�koi meaning nahi. ORDER BY aapko control deta hai ki data kaise sort ho, aur LIMIT ke saath sirf utne hi rows dikhao jitne chahiye.

ORDER BY

Row-level sorting. Ascending (chhota se bada) ya descending (bada se chhota) � aap choose karo.

ASC / DESC

Sort direction. ASC = default (A?Z, 0?9). DESC = reverse (Z?A, 9?0).

LIMIT

Sirf top N rows return karo. OFFSET ke saath pagination bhi kar sakte ho.

HOW: ORDER BY ka syntax

ORDER BY SELECT ke baad aata hai, WHERE ke baad. Column name ke saath ASC ya DESC lagao�default ASC hota hai.

1. Basic ORDER BY � ascending

Marks ke hisaab se ascending order (chhota se bada):

sql
SELECT * FROM students ORDER BY marks ASC;

2. ORDER BY DESC � descending

Marks ke hisaab se descending order (bada se chhota):

sql
SELECT * FROM students ORDER BY marks DESC;

3. Multiple columns sort

Pehle course ascending, phir marks descending:

sql
SELECT * FROM students ORDER BY course ASC, marks DESC;
Remember: Jab multiple columns hote hain, pehle sorting pehle column par hoti hai. Agar course same hai, tab marks ke basis par decide hota hai.

4. LIMIT � sirf top N rows

Top 3 students marks ke hisaab se:

sql
SELECT * FROM students ORDER BY marks DESC LIMIT 3;

5. LIMIT with OFFSET � pagination

5 rows chahiye, lekin pehle 2 chhod do (3rd se start):

sql
SELECT * FROM students ORDER BY marks DESC LIMIT 5 OFFSET 2;
Note: OFFSET skip karta hai rows. LIMIT 5 OFFSET 2 ka matlab hai � pehle 2 rows chhod do, phir agle 5 lo.

6. Aliases in ORDER BY

Column ka alias use karke sort karo:

sql
SELECT name, marks AS score FROM students ORDER BY score DESC;

7. ORDER BY expression

Calculated column par sort karo � jaise double marks:

sql
SELECT name, marks FROM students ORDER BY marks * 2 DESC;

8. NULL handling

NULL values ko last mein ya first mein bhejo:

sql
-- NULLs last (default in most databases)
SELECT * FROM students ORDER BY marks ASC NULLS LAST;

-- NULLs first
SELECT * FROM students ORDER BY marks ASC NULLS FIRST;

ORDER BY + LIMIT ka quick reference

sql
-- Sort order
ORDER BY column ASC -- ascending (default)
ORDER BY column DESC -- descending

-- Multiple columns
ORDER BY col1 ASC, col2 DESC

-- Limit results
LIMIT 10 -- sirf 10 rows
LIMIT 10 OFFSET 5 -- skip 5, phir 10

-- Aliases
SELECT col AS alias ORDER BY alias

-- NULL handling
ORDER BY col NULLS LAST
ORDER BY col NULLS FIRST

Try it: data ko sort karo

Neeche diye gaye SQL queries ko editor mein modify karo aur dekho output kaise badalta hai. Pehle basic ORDER BY try karo, phir LIMIT add karo.

SQL playgroundBrowser mein query run karo
Run query dabayein

Exercise

Top 3 students dikhao marks ke hisaab se (highest marks first).

Pehle ORDER BY marks DESC lagao taaki highest marks pehle aaye, phir LIMIT 3 se sirf teen rows lo.

Common beginner mistakes

ORDER BY & LIMIT clear hai?

Ab data add karna seekho�INSERT se naye rows table mein daalo.