力扣資料庫題目176第二高的薪水

2022-07-11 07:54:10 字數 3171 閱讀 9508

力扣資料庫題目176第二高的薪水

編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水(salary) 。

+----+--------+

| id | salary |

+----+--------+

| 1 | 100 |

| 2 | 200 |

| 3 | 300 |

+----+--------+

例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。

題目要求的結果是一行一列,並保證兩個條件

1、列別名secondhighestsalary

2、行至少一行null,為了維持這個問題

前四個方案是製造出來乙個null行,後四個方案是0行使用select ()子查詢後造出null行

為了保證條件2,廢了很多事。

方案一五使用distinct,二六使用的開窗,三七使用的子查詢,四八使用的any

create table `employee` (

`id` int not null auto_increment,

`salary` int not null default '0',

primary key (`id`)

) engine=innodb collate=utf8mb4_0900_ai_ci;

insert into `test`.employee(`id`,`salary`)

values(1,100),(2,200),(3,300)

力扣資料庫 176 第二高的薪水

create table ifnot exists employee id int salary int truncate table employee insert into employee id,salary values 1 100 insert into employee id,salar...

資料庫專題 leetcode176 第二高的薪水

第二高的薪酬 1.需要排序 order by 2.會有薪酬重複的情況,需要去重 distinct 3.需要取指定行資料 limit 沒有第二高的時候設定為null 判斷語句,可以使用ifnull 所以 1.先查出按薪酬降序的不重複第二條資料 當不重複資料只有1條或者0條時候,此時結果集為空 2.使用...

資料庫題目 第二高的薪水

編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水 salary 例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。方法一 使用子查詢和 limit 子句 演算法將不同的薪資按降序排序,然後使用 limit ...