问题
I want to select the top N rows of a table, ranked by how high the number in one of their columns is.
I already have:
SELECT * FROM movie ORDER BY worldwide_gross DESC;
How can I get the first twenty?
If it makes any difference I'm using MySQL.
Cheers!
回答1:
Definition: Limit is used to limit your MySQL query results to those that fall within a specified range. You can use it to show the first X number of results, or to show a range from X - Y results. It is phrased as Limit X, Y and included at the end of your query. X is the starting point (remember the first record is 0) and Y is the duration (how many records to display). Also Known As: Range Results Examples:
SELECT * FROM `your_table` LIMIT 0, 10
This will display the first 10 results from the database.
SELECT * FROM `your_table` LIMIT 5, 5
This will show records 6, 7, 8, 9, and 10
More from About.com
回答2:
I believe:
SELECT *
FROM movie
ORDER BY worldwide_gross DESC
LIMIT 20
should do the trick. See also this link.
来源:https://stackoverflow.com/questions/802027/in-sql-how-do-you-get-the-top-n-rows-ordered-by-a-certain-column