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

半腔热情 提交于 2019-12-07 18:28:26

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!