In SQL, how do you get the top N rows ordered by a

2019-05-26 22:39发布

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!

2条回答
放荡不羁爱自由
2楼-- · 2019-05-26 22:42

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

查看更多
混吃等死
3楼-- · 2019-05-26 22:52

I believe:

SELECT * 
FROM movie 
ORDER BY worldwide_gross DESC
LIMIT 20

should do the trick. See also this link.

查看更多
登录 后发表回答