Bird
0
0

Why does ROW_NUMBER() assign different row numbers each time you run a query without a deterministic ORDER BY clause?

hard📝 Conceptual Q10 of 15
SQL - Window Functions Fundamentals
Why does ROW_NUMBER() assign different row numbers each time you run a query without a deterministic ORDER BY clause?
ABecause ROW_NUMBER() caches results and reuses old numbers
BBecause ROW_NUMBER() always resets to 1 for every query run
CBecause without a fixed ORDER BY, row order is not guaranteed, so numbering can vary
DBecause ROW_NUMBER() ignores ORDER BY and assigns numbers randomly
Step-by-Step Solution
Solution:
  1. Step 1: Understand importance of ORDER BY in ROW_NUMBER()

    ROW_NUMBER() depends on ORDER BY to assign consistent row numbers.
  2. Step 2: Explain effect of missing or non-deterministic ORDER BY

    Without a deterministic ORDER BY, the database can return rows in any order, causing row numbers to differ each run.
  3. Final Answer:

    Because without a fixed ORDER BY, row order is not guaranteed, so numbering can vary -> Option C
  4. Quick Check:

    ROW_NUMBER() needs deterministic ORDER BY for consistent numbering [OK]
Quick Trick: Always use deterministic ORDER BY for stable ROW_NUMBER() results [OK]
Common Mistakes:
  • Assuming ROW_NUMBER() caches results
  • Thinking ROW_NUMBER() resets every query
  • Believing ROW_NUMBER() assigns random numbers ignoring ORDER BY

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes