trips 表中存所有計程車的行程資訊。每段行程有唯一鍵 id,client_id 和 driver_id 是 users 表中 users_id 的外來鍵。status 是列舉型別,列舉成員為 (『completed』, 『cancelled_by_driver』, 『cancelled_by_client』)。
idclient_id
driver_id
city_id
status
request_at11
101completed
2013-10-0122
111cancelled_by_driver
2013-10-0133
126completed
2013-10-0144
136cancelled_by_client
2013-10-0151
101completed
2013-10-0262
116completed
2013-10-0273
126completed
2013-10-0282
1212
completed
2013-10-0393
1012
completed
2013-10-03104
1312
cancelled_by_driver
2013-10-03
users 表存所有使用者。每個使用者有唯一鍵 users_id。banned 表示這個使用者是否被禁止,role 則是乙個表示(『client』, 『driver』, 『partner』)的列舉型別。
users_id
banned
role1no
client
2yes
client3no
client4no
client
10no
driver
11no
driver
12no
driver
13no
driver
寫一段 sql 語句查出 2023年10月1日 至 2023年10月3日 期間非禁止使用者的取消率。基於上表,你的 sql 語句應返回如下結果,取消率(cancellation rate)保留兩位小數。
daycancellation rate
2013-10-01
0.33
2013-10-02
0.00
2013-10-03
0.50
select t.request_at as
day,
round
(sum
(case
when t.
status
='completed'
then
0else
1end)/
count(*
),2)
as'cancellation rate'
from trips as t
inner
join
users as u on t.client_id = u.users_id
and u.banned =
'no'
group
by t.request_at;
結果
將昨天employee表清空,重新插入以下資料(其實是多插入5,6兩行):
idname
salary
departmentid
1joe
7000012
henry
8000023
sam6000024
max9000015
janet
6900016
randy
85000
1編寫乙個 sql 查詢,找出每個部門工資前三高的員工。例如,根據上述給定的**,查詢結果應返回:
department
employee
salary
itmax
90000
itrandy
85000
itjoe
70000
sales
henry
80000
sales
sam60000
select department.name as department, e1.name as employee, e1.salary as salary
from employee e1
inner
join department
on e1.departmentid = department.id
where
3>
(select
count
(distinct e2.salary)
from employee e2
where e2.salary > e1.salary and e1.departmentid = e2.departmentid
)order
by department.name, e1.salary desc
結果
依然是昨天的分數表,實現排名功能,但是排名是非連續的,如下:
score
rank
4.00
14.00
13.85
33.65
43.65
43.50
6
select score,
(select
count
(score)+1
from score
where score > s.score)as
'rank'
from score as s
order
by score desc
;
結果
菜鳥C語言學習之旅
學c 的時候沒好好學,直接奔著前台學習了一大堆前台技術,現在又重新撿起程式語言的學習,從c開始,菜鳥之旅 基礎的c語言的結構還是知道滴,從hello world開始自己乙個個的敲,遇到的問題很菜,僅供留給自己。1.return 語句的作用,之前敲很多c 的 都不會加return語句,覺得有沒有無所謂...
Mysql 應用學習之旅
每次安裝,都會重新踩一遍坑,後面爭取可以把自己的踩坑探索過程都進行記錄整理,不被同一塊石頭絆倒兩次。關閉防火牆後,再重新進行安裝,安裝之後,無需重啟電腦即可啟動執行 以管理員身份執行 net start mysql 啟動mysql服務 net stop mysql 停止mysql服務 mysql u...
菜鳥的PAT訓練之旅 9
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 給定一句英語,要求你編寫程式,將句中所有單詞的順序顛倒輸出。輸入格式 測試輸入包含乙個測試用例,在一行內給出總長度不超過80的字串。字串由若干單詞和若干空格組成,其中單詞...