排名前x的MySQL选择

时间:2017-07-27 12:43:06

标签: mysql

我想在我的MySQL数据库中进行选择,我在其中存储了特定列中的数值。

我看到一些基于某些标准显示 10 ten 的网站,我一直想知道是否可以根据数值进行选择。

我的数据库是这样的:

| id | name      | pts |
+----+-----------+-----+
| 1  | Brad      |  3  |
| 2  | Jane      |  8  |
| 3  | Jones     |  10 |
| 4  | Paty      |  15 |
| 5  | Sammy     |  2  |

现在我的问题是,如何根据pts创建仅选择前3位用户的查询,以便将结果返回为:

1st Position = Paty => 15pts
2nd Position = Jones => 10pts
3rd Position = Jane => 8pts

4 个答案:

答案 0 :(得分:3)

试试这个:

SELECT * FROM tablename ORDER BY pts desc limit 3

答案 1 :(得分:1)

您的查询应使用LIMIT获得最佳结果:

SELECT id, name, points FROM table ORDER BY pts DESC LIMIT 3

应该做的。

命令将命令表从最高到最低限制将告诉mysql只获得前三个结果

您可以在example找到有关此主题的更多信息。 而this是一个非常接近你的问题

答案 2 :(得分:1)

您可以使用此查询

SELECT CONCAT(`id` , 'Postion = ' , `name` , '=>' ,`pts` , 'pts' ) AS result FROM table ORDER BY pts DESC LIMIT 3

答案 3 :(得分:1)

这个问题无论如何我见过许多地方。

select top 3 * from tablename order by cols_name desc

此查询根据您的列显示前3行具有最高值。