sql - 查询从 SQL Server 中的表中检索前两行

标签 sql sql-server tsql

我有一个名为 Employee 的表,其中包含以下字段:

  • 员工编号
  • 工资
  • 姓名

我想获得薪水最高的前两名员工。如何编写此查询?

最佳答案

SQL Server 2000+:

  SELECT TOP 2
         e.*
    FROM EMPLOYEE e
ORDER BY e.salary DESC

MySQL 和 Postgres:

  SELECT e.*
    FROM EMPLOYEE e
ORDER BY e.salary DESC
   LIMIT 2

甲骨文:

SELECT x.*
  FROM (SELECT e.*,
               ROWNUM as rn
          FROM EMPLOYEE e
      ORDER BY e.salary DESC) x
 WHERE x.rn <= 2

关于sql - 查询从 SQL Server 中的表中检索前两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2445034/

相关文章:

sql - 如何获取某个用户拥有同一组好友的uid? (SQL)

php - mysqli_query() 期望参数 1 为 mysqli,在/Applications/MAMP/htdocs/中给出的对象

sql - 我们可以在 SQL Server 中的两个存储过程之间进行连接吗

sql-server - 如何在 VB.net 中将多行从 datagridview 插入到 SQL 数据库?

sql - SQL 更新查询中的聚合函数?

MYSQL:查询合并计数

mysql - 将 3 个表连接在一起

sql - 计算过期的凭证,给定一个固定的窗口

sql-server - SQL Server : OPENQUERY in easy words (with example)

sql-server - 你能在你的 SQL if 语句的 block 中只添加一条注释吗?