如何使用SQL在數據庫表的屬性(列)下打印前兩個最大值?如何使用SQL打印數據庫列中的前2個最大值?
我有一個名爲salary
的列,它包含不同的行(大約10行)。我們需要打印出前兩個最大值。
我知道我們可以通過使用max
函數獲得第一個最大值,但是如果我需要前兩個值,該怎麼辦?
如何使用SQL在數據庫表的屬性(列)下打印前兩個最大值?如何使用SQL打印數據庫列中的前2個最大值?
我有一個名爲salary
的列,它包含不同的行(大約10行)。我們需要打印出前兩個最大值。
我知道我們可以通過使用max
函數獲得第一個最大值,但是如果我需要前兩個值,該怎麼辦?
也許像這樣? (MySQL的)
select `salary` from `mytable` order by `salary` desc limit 2
按Alex的回答,您可以添加distinct
關鍵字,以確保您得到兩個不同的值。
select distinct `salary` from `mytable` order by `salary` desc limit 2
在SQL Server
SELECT TOP 2 salary
from table
order by salary desc
在MySQL
SELECT salary
from table
order by salary desc
limit 2
select distinct salary from mytable order by salary desc limit 2;
好吧如果你只需要兩個頂部,即使是相等的,該有的都有了分辯,但如果你需要前2號碼(你不關心是否有多個實例),你可以使用這個:
SELECT
Salary
FROM Salaries
GROUP BY Salary
ORDER BY Salary DESC
LIMIT 2
SQL Server或MySQL,這是它嗎?打定主意 – podiluska
如果你的表中有1000,1000,900,那麼你需要1000,1000作爲輸出或者1000和900。 –