比較的に複雑なsql面接問題
1629 ワード
一、グループ統計各クラスの点数上位3名(LeetCode:185.Department Top Three Salariesに等しい)
テーブル構造:
sql:
二、LeetCode:262. Trips and Users
テーマの詳細は以下を参照してください.https://leetcode.com/problems/trips-and-users/
sql:
テーブル構造:
create table student(
id varchar(20),--
class varchar(20),--
score int--
);
insert student values('1',' ',82);
insert student values('2',' ',95);
insert student values('3',' ',82);
insert student values('4',' ',40);
insert student values('5',' ',20);
insert student values('6',' ',95);
insert student values('7',' ',40);
insert student values('8',' ',3);
insert student values('9',' ',60);
insert student values('10',' ',10);
insert student values('11',' ',70);
insert student values('12',' ',60);
insert student values('13',' ',40);
insert student values('14',' ',90);
sql:
select a.class,a.score
from student a
where (select count(*) from student where class=a.class and a.score
二、LeetCode:262. Trips and Users
テーマの詳細は以下を参照してください.https://leetcode.com/problems/trips-and-users/
sql:
SELECT Request_at Day,
ROUND(SUM(IF(Status = 'completed', 0, 1)) / COUNT(*), 2) 'Cancellation Rate'
FROM Trips t
LEFT JOIN Users t1 ON t.Client_Id = t1.Users_Id
WHERE t1.Banned = 'No' AND Request_at BETWEEN '2013-10-01' AND '2013-10-03'
GROUP BY t.Request_at;