Mysql 获取表中最高值的SQL查询
我有一张包含以下信息的表格:Mysql 获取表中最高值的SQL查询,mysql,sql,Mysql,Sql,我有一张包含以下信息的表格: ID Name Value === ===== ======= 1 apple 5 2 green 10 3 orange 1 4 blue 0 5 fish 3 6 lettuce 2 7
ID Name Value
=== ===== =======
1 apple 5
2 green 10
3 orange 1
4 blue 0
5 fish 3
6 lettuce 2
7 cabbage 4
8 computer 1
9 car 0
10 sport 9
11 racing 15
我希望能够在这个表中只提取3条最高值的记录。举个例子,我想按这个顺序拉下面的内容
11 racing 15
2 green 10
10 sport 9
我知道我可以使用ORDER BY按值排序,所以它首先给我最高的值。但是我如何查询以仅获取这些记录呢?您可以按
select * from your_table order by Value desc limit 3
在SQL Server中
SELECT TOP 3 * FROM tablename order by Value DESC
您可以按多列排序。如果我解释您的请求,您可以按值DESC、NAME订购。因此,10的结果仍然是第一个,然后是所有0的结果,按名称的字母顺序排列。在查询的末尾添加限制3是mysql还是sql server?那么为什么您有sql server标记?我错误地添加了它,我不知道如何在发布后将其取下。我如何才能确定,我有5行,只有1行的值为10,而最后4行的值为0,我可以自动将order by调整为其他字段吗?@BradHazelnut-只需在order by列表的末尾添加更多内容。如果一行为10,其余均为0,那么10将首先出现,然后是其余的。但是您可以自定义订单值,但需要使用case或field()来实现。