力扣資料庫

2021-10-10 13:38:51 字數 1542 閱讀 7913

先從簡單開始

思路:對email列進行count函式計算,依賴於group by(按照不同得郵箱進行分組。這樣得話就可以得到乙個這樣得資料:每個郵箱對應得條數。這樣只要求出每個條數》1得郵箱就是我們想要得。)

解答:

select email 

from(

select email count(email) as num

from person

group by email

) as emailnum

where num>1;

思路:其實就是求customers表裡面沒有在oders表裡面得id對應得name。很容易聯想到 not in得用法

解答:

select name as customers 

太水了,

思路:和第一題其實是一樣得。區別在於最後一句話,就是學生不應該被重複進行統計。所以要加個distinct

解答:

select class

思路:很水,唯一就是奇數id利用mod函式求一下就行

解答

select * 

思路:在我們得sql語句裡面使用if函式

update salary

set ***=if(***='f','m','f');

力扣資料庫178題 分數排名

最近在學習sql語句,主要使用mysql,在力扣上打卡解題,記錄一下大神們的解法。題目 編寫乙個sql查詢來實現分數排名。如果兩個分數相同,則兩個分數排名 rank 相同,平分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有 間隔 例如,根據上述給定的scores表,你的查詢應該返...

力扣 我的專案總結 資料庫

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

力扣資料庫SQL解題記錄

表結構 create table person personid int firstname varchar 255 lastname varchar 255 create table address addressid int personid int city varchar 255 state...