--- tags: sql, LeetCode disqus: HackMD --- # 1407. Top Travellers `Fix Names in a Table` 透過`leetcode 1407`[Top Travellers](https://leetcode.com/problems/top-travellers/)來練習 #### 使用table  id 是該表的主鍵。 name 是用戶的名字。  id 是該表的主鍵。 user_id 是經過距離“距離”的用戶的 id。 ## 題目說明: 編寫 SQL 查詢以報告每個使用者行駛的距離。 返回按降序排序的結果表,如果兩個或更多用戶行進的距離相同,則按其升序對它們進行排序。travelled_distancename 查詢結果格式位於以下範例中。    ## 解題: 以下為第一個解題方法 將兩個資料表join起來 再 `sum(isnull(R.distance,0))` `group by` 時 `M.id` 也必須加入條件內,因為有可能出現不同id name相同的資料  ```sql= SELECT M.name as name,sum(isnull(R.distance,0)) as travelled_distance FROM Users M left outer join Rides R on R.user_id = M.id group by M.id, M.name order by travelled_distance desc, M.name ASC ``` By. @UEW2WaUHTqSmPOSfnfXrNw
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up