Sql 如何找到前三个工资的总和,其中表上的总行数为六行

Sql 如何找到前三个工资的总和,其中表上的总行数为六行,sql,Sql,如何找到前三个工资的总和,其中表上的总行数为六行 id Salary 01 100 02 200 03 300 04 400 05 500 06 600 你是说: SELECT SUM(Salary) FROM ( SELECT Salary FROM your_table ORDER BY id LIMIT 3 ) A 假设它是SQL Server: SELECT SUM(Salary) As Sa

如何找到前三个工资的总和,其中表上的总行数为六行

id      Salary
01       100
02       200
03       300
04       400
05       500
06       600
你是说:

SELECT SUM(Salary)
FROM (
    SELECT Salary FROM your_table ORDER BY id LIMIT 3
) A

假设它是SQL Server:

 SELECT SUM(Salary) As SalaryTotal
 (    
     SELECT TOP 3 * FROM your_table ORDER BY ID
 )
如果您希望获得最高3份工资的总和,则可以按工资排序:

SELECT SUM(Salary) As SalaryTotal
(    
    SELECT TOP 3 * FROM your_table ORDER BY  salary DESC    
)
试着用这个

SELECT SUM(salary) 
FROM
    (SELECT
        ROW_NUMBER() OVER (ORDER BY id ASC) AS ROW_NUMBER, salary
     FROM tablename) AS foo
WHERE 
    ROW_NUMBER <= 3