?? 1、專欄介紹
「SQL面試題庫」是由 不是西紅柿 發(fā)起,全員免費(fèi)參與的SQL學(xué)習(xí)活動(dòng)。我每天發(fā)布1道SQL面試真題,從簡(jiǎn)單到困難,涵蓋所有SQL知識(shí)點(diǎn),我敢保證只要做完這100道題,不僅能輕松搞定面試,代碼能力和工作效率也會(huì)有明顯提升。
1.1 活動(dòng)流程
- 整理題目:西紅柿每天無論刮風(fēng)下雨,保證在8am 前,更新一道新鮮SQL面試真題。
- 粉絲打卡:粉絲們可在評(píng)論區(qū)寫上解題思路,或者直接完成SQL代碼,有困難的小伙伴不要著急,先看別人是怎么解題的,邊看邊學(xué),不懂就問我。
- 交流討論:為了方便交流討論,可進(jìn)入 數(shù)據(jù)倉庫 。
- 活動(dòng)獎(jiǎng)勵(lì):我每天都會(huì)看評(píng)論區(qū)和群里的內(nèi)容,對(duì)于積極學(xué)習(xí)和熱心解答問題的小伙伴,紅包鼓勵(lì),以營造更好的學(xué)習(xí)氛圍。
1.2 你的收獲
-
增強(qiáng)自信,搞定面試:在求職中,SQL是經(jīng)常遇到的技能點(diǎn),而這些題目也多數(shù)是真實(shí)的面試題,刷題可以讓我們更好地備戰(zhàn)面試,增強(qiáng)自信,提升自己的核心競(jìng)爭(zhēng)力。
-
鞏固SQL語法,高效搞定工作:通過不斷練習(xí),能夠熟悉SQL的語法和常用函數(shù),掌握SQL核心知識(shí)點(diǎn),提高SQL編寫能力。代碼能力提升了,工作效率自然高了。
-
提高數(shù)據(jù)處理能力、鍛煉思維能力:SQL是數(shù)據(jù)處理的核心工具,通過刷題可以讓我們更好地理解數(shù)據(jù)處理的過程,提高數(shù)據(jù)分析的效率。SQL題目的難度不一,需要在一定時(shí)間內(nèi)解決問題,培養(yǎng)了我們對(duì)問題的思考能力、解決問題的能力和對(duì)時(shí)間的把控能力等。
?? 2、今日真題
題目介紹: 排名靠前的旅行者 top-travellers
難度簡(jiǎn)單
SQL架構(gòu)
表單:
Users
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| name | varchar |
+---------------+---------+
id 是該表單主鍵.
name 是用戶名字.
表單:
Rides
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| user_id | int |
| distance | int |
+---------------+---------+
id 是該表單主鍵.
user_id 是本次行程的用戶的 id, 而該用戶此次行程距離為 distance.
寫一段 SQL , 報(bào)告每個(gè)用戶的旅行距離.
返回的結(jié)果表單, 以
travelled_distance
降序排列, 如果有兩個(gè)或者更多的用戶旅行了相同的距離, 那么再以
name
升序排列.
查詢結(jié)果格式, 如下例所示.
``` Users 表單: +------+-----------+ | id | name | +------+-----------+ | 1 | Alice | | 2 | Bob | | 3 | Alex | | 4 | Donald | | 7 | Lee | | 13 | Jonathan | | 19 | Elvis | +------+-----------+
Rides 表單: +------+----------+----------+ | id | user_id | distance | +------+----------+----------+ | 1 | 1 | 120 | | 2 | 2 | 317 | | 3 | 3 | 222 | | 4 | 7 | 100 | | 5 | 13 | 312 | | 6 | 19 | 50 | | 7 | 7 | 120 | | 8 | 19 | 400 | | 9 | 7 | 230 | +------+----------+----------+文章來源:http://www.zghlxwxcb.cn/news/detail-567339.html
Result 表單: +----------+--------------------+ | name | travelled_distance | +----------+--------------------+ | Elvis | 450 | | Lee | 450 | | Bob | 317 | | Jonathan | 312 | | Alex | 222 | | Alice | 120 | | Donald | 0 | +----------+--------------------+ Elvis 和 Lee 旅行了 450 英里, Elvis 是排名靠前的旅行者, 因?yàn)樗拿衷谧帜副砩系呐判虮?Lee 更小. Bob, Jonathan, Alex 和 Alice 只有一次行程, 我們只按此次行程的全部距離對(duì)他們排序. Donald 沒有任何行程, 他的旅行距離為 0. ```文章來源地址http://www.zghlxwxcb.cn/news/detail-567339.html
sql
select name,sum(ifnull(distance,0)) travelled_distance
from Users u left join Rides r
on u.id = r.user_id
group by name
order by travelled_distance desc, name
- 已經(jīng)有靈感了?在評(píng)論區(qū)寫下你的思路吧!
到了這里,關(guān)于「SQL面試題庫」 No_105 排名靠前的旅行者的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!