Sorting and Limiting Results

Loading concept...

🎯 SQL: Sorting and Limiting Results

The Library Story

Imagine you walk into a giant library with thousands of books. You ask the librarian: “Show me all the adventure books.”

She brings you 500 books in a messy pile. Chaos!

But what if you said: “Show me the top 10 newest adventure books, sorted by title A-Z.”

Now she hands you exactly what you need. Clean. Organized. Perfect.

That’s what ORDER BY and LIMIT do for your data!


📚 ORDER BY Clause

What Is It?

ORDER BY is your sorting command. It tells the database: “Arrange my results in a specific order.”

Simple Example

Think of a class with students:

name age
Zara 10
Alex 8
Mike 9

Without ORDER BY: You get them in random order.

With ORDER BY:

SELECT name, age
FROM students
ORDER BY name;

Result:

name age
Alex 8
Mike 9
Zara 10

Now they’re alphabetical! 🎉


⬆️⬇️ Sorting Direction: ASC and DESC

The Two Directions

  • ASC = Ascending = Smallest to Largest = A to Z = 1 to 100
  • DESC = Descending = Largest to Smallest = Z to A = 100 to 1

Real Life Example

Your Toy Prices:

toy price
Ball 5
Robot 25
Doll 15

Cheapest First (ASC - default):

SELECT toy, price
FROM toys
ORDER BY price ASC;
toy price
Ball 5
Doll 15
Robot 25

Most Expensive First (DESC):

SELECT toy, price
FROM toys
ORDER BY price DESC;
toy price
Robot 25
Doll 15
Ball 5

💡 Pro Tip: ASC is the default. If you forget to write it, SQL assumes ASC!


🔀 Multi-Column Sorting

When One Column Isn’t Enough

What if two students have the same age? How do you break the tie?

Sort by multiple columns!

Example: Student Scores

name grade score
Zara A 95
Alex B 85
Mike A 90
Sara B 85

Sort by grade first, then by score (highest first):

SELECT name, grade, score
FROM students
ORDER BY grade ASC, score DESC;

Result:

name grade score
Zara A 95
Mike A 90
Alex B 85
Sara B 85

How It Works:

  1. First, all A grades come before B grades
  2. Within each grade, highest scores come first
graph TD A[All Students] --> B[Sort by Grade] B --> C[Grade A Group] B --> D[Grade B Group] C --> E[Sort by Score DESC] D --> F[Sort by Score DESC] E --> G[Zara 95, Mike 90] F --> H[Alex 85, Sara 85]

📄 Row Limiting and Pagination

The Problem

Your database has 1 million products. You don’t want to load all of them at once!

The Solution: LIMIT

LIMIT says: “Only give me this many rows.”

SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 5;

This gives you only the 5 most expensive products.

Pagination with OFFSET

What if you want to see page 2? Use OFFSET!

Page 1 (first 5 items):

SELECT name FROM products
ORDER BY name
LIMIT 5 OFFSET 0;

Page 2 (next 5 items):

SELECT name FROM products
ORDER BY name
LIMIT 5 OFFSET 5;

Page 3 (next 5 items):

SELECT name FROM products
ORDER BY name
LIMIT 5 OFFSET 10;
graph TD A[100 Products] --> B[LIMIT 5 OFFSET 0] A --> C[LIMIT 5 OFFSET 5] A --> D[LIMIT 5 OFFSET 10] B --> E[Products 1-5] C --> F[Products 6-10] D --> G[Products 11-15]

💡 Formula: OFFSET = (page_number - 1) × items_per_page


🏆 Finding Top N Records

The Most Common Use Case

“Show me the top 3 highest scores” is everywhere:

  • Top 10 bestselling books
  • Top 5 fastest runners
  • Top 3 highest paid employees

The Magic Pattern

SELECT column1, column2
FROM table_name
ORDER BY column DESC
LIMIT N;

Real Example: Top 3 Scorers

player score
Anna 150
Bob 200
Carl 175
Dana 125
Eve 180
SELECT player, score
FROM gamers
ORDER BY score DESC
LIMIT 3;

Result:

player score
Bob 200
Eve 180
Carl 175

🏆 Bob wins!

Bottom N Records

Want the lowest instead? Just use ASC:

SELECT player, score
FROM gamers
ORDER BY score ASC
LIMIT 3;

This gives you the 3 lowest scorers.


🎯 Quick Summary

Task SQL Pattern
Sort A-Z ORDER BY name ASC
Sort Z-A ORDER BY name DESC
Sort by two things ORDER BY col1, col2
Get first 10 LIMIT 10
Skip first 5 OFFSET 5
Top 5 highest ORDER BY col DESC LIMIT 5

🚀 You Did It!

You now know how to:

  • Sort data in any order
  • Choose ascending or descending
  • Sort by multiple columns for tie-breakers
  • Limit results to a specific number
  • Paginate through large datasets
  • Find top N records like a pro

Next time you have messy data, you’re the librarian who knows exactly how to organize it! 📚✨

Loading story...

No Story Available

This concept doesn't have a story yet.

Story Preview

Story - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

Interactive Preview

Interactive - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Interactive Content

This concept doesn't have interactive content yet.

Cheatsheet Preview

Cheatsheet - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Cheatsheet Available

This concept doesn't have a cheatsheet yet.

Quiz Preview

Quiz - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Quiz Available

This concept doesn't have a quiz yet.