sql - 在sql server中查找最大数据

标签 sql sql-server database

我有这种表格并找到最大标记

学生

|id | name  | mark |
|1  | john  | 56   |
|2  | sara  | 81   |
|3  | mattew| 65   |

外面应该是这样的

|id | name  | mark |
|2  | sara  | 81   |

但是我得到了这种输出

|id | name  | mark |
|1  | john  | 81   |

我用sql写的

SELECT id,name,MAX(mark)
FROM student;
WHERE name IN
(SELECT name
FROM student);

如何修改sql?

最佳答案

在 SQL Server 中你可以使用

SELECT TOP 1 WITH TIES *
FROM student
WHERE mark IS NOT NULL
ORDER BY mark DESC

尽管您也可以使用逻辑上等效的标准 SQL

SELECT *
FROM   student
WHERE  mark = (SELECT MAX(mark)
               FROM   student) 

关于sql - 在sql server中查找最大数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27666171/

相关文章:

sql - postgresql 中的慢 OR 语句

sql - 如何从名称源自另一个表的表中选择值?

java - Hibernate:在非主键列上进行一对多映射

sql - 从数据表到数据库插入多个 Anto Number

sql - 美国 Zip(邮政编码)的 Mysql 数据类型

c# - 在 .NET 4.5.1 中异步执行事务数据库操作

sql-server - 如何在 SSRS 中自动交付报告

c# - 使用 Entity Framework 在 sql server 中加密/解密列

sql - 基于用户的数据访问

php拍卖采用相同时间提交的同等出价