mysql 那些關於第二大的事

2021-08-09 01:38:47 字數 2057 閱讀 7902

經常遇到關於第二大的計算,如找到銷售量第二大的id等等這類問題。

拓展

**

select

(select

distinct

salary

from

employee

order

by salary desc

limit 1 offset 1) as secondhighestsalary

;

保證了salary只有唯一的輸出,避免多個第二高的情況。

select

ifnull(

(select

distinct salary

from employee

order

by salary desc

limit 1 offset 1),

null) as secondhighestsalary

解決了為空的問題,為空就輸出null

select

max(salary) as secondhighestsalary

from employee

where salary < (select

max(salary) from employee)

參考

為了方便自己日後參看,將中的內容轉過來。

mysql

select

max(vcid) from msdtb1701

where vcid < (select

max(vcid) from msdtb1701)

select

max(vcid) from msdtb1701

where vcid not

in (select

max(vcid) from msdtb1701)

select vcuser ,vcid from msdtb1701 

where vcid=

(select

max(vcid) from msdtb1701 where vcid

notin (select

max(vcid) from msdtb1701))

select

max(vcid) from msdtb1701

where vcid < (select

max(vcid) from msdtb1701 where vcid

notin (select

max(vcid) from msdtb1701))

select vcid,vcuser from msdtb1701  order

by vcid desc limit 3

注意:依照此數值調整限制輸出行數

create function getnthhighestsalary(n int) returns int

begin

declare m int;

set m=n-1;

return (

# write your mysql query statement below.

select

distinct salary from employee order

by salary desc limit m, 1

);end

sql server

select top n * from tablename where
oracle

select * from table1 where rownum<=n

第二大整數

問題描述 編寫乙個程式,讀入一組整數 不超過 20個 當使用者輸入 0時,表示輸入結束。然後程式將從這組整數中,把第二大的那個整數找出來,並把它列印出來。說明 1 0表示輸入結束,它本身並不計入這組整數中。2 在這組整數中,既有正數,也可能有負數。3 這組整數的個數不少於2個。輸入格式 輸入只有一行...

第二大的數

這是微軟的一道面試題,是我找工作時看的面試寶典裡面的一題,覺得很有意思,這種處理的方法應該可以用在很多地方。下面就來進入正題吧。題目 寫乙個函式,找出乙個整數陣列中,第二大的數。時間複雜度o n const int minnumber 32767 int ctestsizeofdlg find se...

mysql 讀取第二大的資料

1 desc asc 和limit結合 desc和asc是排序方式,desc 降序 asc 公升序 limit 對輸出的限制,limit m,n m是起始行,n是要輸出的條數 例如 select from table name limit 0,2 輸出從0行開始的兩行資料 select from w...