This MySQL Limit lesson is for a beginner. Read the short notes, run each example, then change one name or number and run it again.
LIMIT caps how many rows come back. OFFSET skips rows, which is how a later page of results is requested.
Large offsets get slow. Keyset paging is a better fit for a long table.
Example 1: Start here
LIMIT 2 returns the first two rows of the current order. Add ORDER BY when the order matters.
rows = [{"id": n} for n in range(1, 6)] # a list; the values stay in this order
print(rows[:2])
Example 2: Filter the rows
MySQL Limit is easier to see as a list of records. The filter keeps every row whose seats value is at least 10.
rows = [{"topic": "MySQL Limit", "seats": 8}, {"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 Limit", "seats": 8} # 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 8 appears twice.
rows = [8, 4, 8] # a list; the values stay in this order
print(sum(1 for value in rows if value == 8)) # keep the items that pass the test
