Sql 查詢工資第二高的記錄

2021-09-20 15:21:50 字數 577 閱讀 8626

題目要求:

給定乙個表employee, 有兩個欄位id, salary,要求顯示表中薪水第二的資料.如果沒有第二高, 顯示為null

mysql:

select 

ifnull(

(select distinct(salary)

from employee

order by salary desc

limit 1 ,1

),null

) as secondhighestsalary

解析:

mysql的考點:

1. limit m,n : 查詢結果記錄的index是從0開始, 表示第一條記錄, 這裡的m=1為從第一條開始.n表示在限制條數之後的offset記錄.

limit 1,1意味著從查詢結果裡的第index=1個位置從後往前取1條記錄.

2. ifnull(exp,value):如果exp的結果為空, 則返回value.否則結果為exp計算的結果.

解題思路: 先將查詢結果倒序排序, 再從結果裡選擇index=1的顯示1條, 如果沒有這樣的記錄, 則顯示null.

在雇員表中查詢第二高的工資SQL語句助記

在雇員表中查詢第二高的工資的員工記錄 sql語句怎麼寫 這個查詢首先查詢最高工資,然後將它從列表中排除。再查詢最高工資。非常明顯,第二次返回的是第二高工資。select top 1 from employee where salary not int select max salary from e...

第二高的薪水(SQL查詢語句)

編寫乙個 sql 查詢,獲取employee表中第二高的薪水 salary id salary 1 100 2 200 3 300 例如上述employee表,sql查詢應該返回200作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回null。secondhighestsalary 200 答...

sql語句(第二高)

編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水 salary id salary 1 100 2 200 3 300 例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。secondhighestsalar...