Bird
Raised Fist0
Google Sheetsspreadsheet~5 mins

ORDER BY clause in Google Sheets - Step-by-Step Guide

Choose your learning style10 modes available
Introduction
The ORDER BY clause in Google Sheets helps you sort data in a specific order. It is used inside the QUERY function to arrange rows by one or more columns, either from smallest to largest or largest to smallest. This makes it easier to find top values or organize your data clearly.
When you want to list sales data from highest to lowest to see the best sellers.
When you need to sort a list of names alphabetically for a contact sheet.
When you want to organize dates from earliest to latest in an event schedule.
When you want to display students' scores sorted from highest to lowest.
When you want to sort product prices from lowest to highest to find bargains.
Steps
Step 1: Click
- a blank cell where you want the sorted data to appear
The cell is selected and ready for formula input
Step 2: Type
- the formula bar
You start entering the QUERY formula
💡 Start with =QUERY(data_range, "SELECT * ORDER BY column_number")
Step 3: Replace
- data_range in the formula
The formula points to your actual data range, for example A1:C10
Step 4: Replace
- column_number in the ORDER BY clause
The formula sorts by the chosen column number, for example 2 for the second column
Step 5: Add
- after the column number in ORDER BY clause
You specify sorting order by adding ASC for ascending or DESC for descending
💡 Example: ORDER BY 2 DESC sorts column 2 from largest to smallest
Step 6: Press
- Enter key
The sorted data appears in the selected cell range
Before vs After
Before
Data in A1:C5 with names and scores unsorted
After
Data sorted by scores in descending order showing highest scores first
Settings Reference
data_range
📍 inside QUERY formula
Defines the data to be sorted
Default: None
ORDER BY clause
📍 inside QUERY formula's query string
Sets which column to sort by and the sort direction
Default: ASC
SELECT clause
📍 inside QUERY formula's query string
Defines which columns to show in the result
Default: *
Common Mistakes
Using column letters instead of numbers in ORDER BY clause
QUERY requires column numbers, not letters, inside ORDER BY
Use the column number like ORDER BY 2 instead of ORDER BY B
Forgetting to put the query string inside double quotes
QUERY formula needs the query text as a string to work
Always enclose the query part in double quotes, e.g., "SELECT * ORDER BY 1"
Not specifying ASC or DESC when needed
Without ASC or DESC, the default is ascending, which may not be what you want
Add ASC for ascending or DESC for descending explicitly to avoid confusion
Summary
ORDER BY clause sorts data inside the QUERY function by one or more columns.
Use column numbers, not letters, to specify which column to sort.
Add ASC or DESC to control ascending or descending order.

Practice

(1/5)
1. What does the ORDER BY clause do inside a Google Sheets QUERY function?
easy
A. Filters rows based on a condition
B. Sorts the data by a specified column
C. Adds new columns to the data
D. Deletes duplicate rows

Solution

  1. Step 1: Understand the purpose of ORDER BY

    The ORDER BY clause is used to sort data in a query result.
  2. Step 2: Identify what sorting means

    Sorting arranges rows based on values in a chosen column, either ascending or descending.
  3. Final Answer:

    Sorts the data by a specified column -> Option B
  4. Quick Check:

    ORDER BY = Sort data [OK]
Hint: ORDER BY always sorts data by column [OK]
Common Mistakes:
  • Thinking ORDER BY filters rows
  • Confusing ORDER BY with adding columns
  • Assuming ORDER BY removes duplicates
2. Which of the following is the correct syntax to sort data by column B in ascending order using QUERY in Google Sheets?
easy
A. =QUERY(A1:C10, "SELECT * ORDER BY B DESC")
B. =QUERY(A1:C10, "SELECT * ORDER BY B DOWN")
C. =QUERY(A1:C10, "SELECT * ORDER BY B ASC")
D. =QUERY(A1:C10, "SELECT * ORDER BY B UP")

Solution

  1. Step 1: Recall correct ORDER BY syntax

    In QUERY, ascending order is specified by ASC, descending by DESC.
  2. Step 2: Check each option

    =QUERY(A1:C10, "SELECT * ORDER BY B ASC") uses ORDER BY B ASC which is correct syntax for ascending order. Options B and C use invalid keywords DOWN and UP. =QUERY(A1:C10, "SELECT * ORDER BY B DESC") sorts descending, not ascending.
  3. Final Answer:

    =QUERY(A1:C10, "SELECT * ORDER BY B ASC") -> Option C
  4. Quick Check:

    ASC means ascending order [OK]
Hint: Use ASC for ascending, DESC for descending [OK]
Common Mistakes:
  • Using DOWN or UP instead of ASC or DESC
  • Mixing ascending and descending keywords
  • Forgetting quotes around the query string
3. Given the data in A1:B4:
A    Score
John  85
Anna  92
Mike  78
Sara  90

What will be the result of =QUERY(A1:B4, "SELECT A, B ORDER BY B DESC")?
medium
A. John 85
Sara 90
Anna 92
Mike 78
B. Sara 90
Anna 92
John 85
Mike 78
C. Mike 78
John 85
Sara 90
Anna 92
D. Anna 92
Sara 90
John 85
Mike 78

Solution

  1. Step 1: Understand ORDER BY B DESC

    The query sorts rows by column B (Score) in descending order, highest to lowest.
  2. Step 2: Sort the scores

    Scores sorted descending: 92 (Anna), 90 (Sara), 85 (John), 78 (Mike).
  3. Final Answer:

    Anna 92
    Sara 90
    John 85
    Mike 78
    -> Option D
  4. Quick Check:

    DESC sorts highest to lowest [OK]
Hint: DESC sorts from highest to lowest [OK]
Common Mistakes:
  • Confusing ascending and descending order
  • Not sorting by the correct column
  • Ignoring the header row in output
4. You wrote this formula: =QUERY(A1:C10, "SELECT A, B ORDER BY C DESCENDING") but it gives an error. What is the problem?
medium
A. The keyword should be DESC, not DESCENDING
B. You cannot order by column C
C. The SELECT clause must include column C
D. The query string must be lowercase

Solution

  1. Step 1: Check ORDER BY syntax

    The correct keyword for descending order is DESC, not DESCENDING.
  2. Step 2: Validate other parts

    Ordering by column C is allowed even if not selected. Query strings are case-insensitive, so lowercase is fine but not required.
  3. Final Answer:

    The keyword should be DESC, not DESCENDING -> Option A
  4. Quick Check:

    Use DESC for descending order [OK]
Hint: Use DESC, not DESCENDING for descending order [OK]
Common Mistakes:
  • Typing DESCENDING instead of DESC
  • Thinking ORDER BY column must be selected
  • Assuming query strings must be lowercase
5. You have a table with columns: Name, Age, and Score. You want to list all names and scores sorted by Age ascending, then Score descending. Which QUERY formula is correct?
hard
A. =QUERY(A1:C10, "SELECT A, C ORDER BY B ASC, C DESC")
B. =QUERY(A1:C10, "SELECT A, C ORDER BY C DESC, B ASC")
C. =QUERY(A1:C10, "SELECT A, B ORDER BY B ASC, C DESC")
D. =QUERY(A1:C10, "SELECT A, C ORDER BY B DESC, C ASC")

Solution

  1. Step 1: Identify columns and order

    We want to select Name (A) and Score (C). Sort first by Age (B) ascending, then Score (C) descending.
  2. Step 2: Match query syntax

    =QUERY(A1:C10, "SELECT A, C ORDER BY B ASC, C DESC") selects A and C, orders by B ASC (Age ascending), then C DESC (Score descending). Other options either select wrong columns or order incorrectly.
  3. Final Answer:

    =QUERY(A1:C10, "SELECT A, C ORDER BY B ASC, C DESC") -> Option A
  4. Quick Check:

    ORDER BY multiple columns works left to right [OK]
Hint: Order by multiple columns separated by commas [OK]
Common Mistakes:
  • Selecting wrong columns in SELECT clause
  • Reversing order directions
  • Ordering by columns not selected
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard