Ordering by multiple columns
We can pass multiple arguments to the .order_by()
method to order by multiple
columns. In fact, we can also sort in ascending or descending order for each individual
column. Each column in the .order_by()
method is fully sorted from left to right.
This means that the first column is completely sorted, and then within each
matching group of values in the first column, it's sorted by the next column in
the .order_by()
method. This process is repeated until all the columns in the
.order_by()
are sorted.
This is a part of the course
“Introduction to Databases in Python”
Exercise instructions
- Select all records of the
state
andage
columns from thecensus
table. - Use
.order_by()
to sort the output of thestate
column in ascending order andage
in descending order. (NOTE:desc
is already imported). - Execute
stmt
using the.execute()
method onconnection
and retrieve all the results using.fetchall()
. - Print the first 20 results.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Build a query to select state and age: stmt
stmt = select([____, ____])
# Append order by to ascend by state and descend by age
stmt = stmt.order_by(____, ____)
# Execute the statement and store all the records: results
results = ____
# Print the first 20 results
print(____)