This MySQL Order By lesson is for a beginner. Read the short notes, run each example, then change one name or number and run it again.
ORDER BY sorts the result. ASC is the default. DESC reverses it.
Sort in the query when the database should do the work. Sorting a small Python list is fine for a short result.
Example 1: Start here
ORDER BY score DESC matches this sort.
rows = [{"name": "Meera", "score": 82}, {"name": "Arun", "score": 91}] # a list; the values stay in this order
print(sorted(rows, key=lambda row: row["score"], reverse=True)) # name= sets that argument by its name
Example 2: Filter the rows
MySQL Order By is easier to see as a list of records. The filter keeps every row whose seats value is at least 10.
rows = [{"topic": "MySQL Order By", "seats": 27}, {"topic": "SQL", "seats": 12}] # a list; the values stay in this order
print([row["topic"] for row in rows if row["seats"] >= 10]) # keep the items that pass the test
Example 3: Update one field
An update changes one field and leaves the rest of the record alone. On a database you would run an UPDATE or an update_one for the same change.
row = {"topic": "MySQL Order By", "seats": 27} # a dictionary; each key has one value
row["seats"] = row["seats"] + 1 # change this one field
print(row)
Example 4: Count the matches
Counting matches is the idea behind COUNT(*). Here the number 27 appears twice.
rows = [27, 4, 27] # a list; the values stay in this order
print(sum(1 for value in rows if value == 27)) # keep the items that pass the test
