表a中有客戶**號碼資訊與更新時間,如何查出客戶最近更新的2個**號碼,如果客戶只有乙個**號碼,則號碼1與號碼2相同
a:id
mobile
update_dt
update_tm
1111
20180101
11:11:11
2222
20180202
12:12:12
3333
20180303
13:13:13
1444
20180404
14:14:14
3555
20180505
15:15:15
1666
20180606
16:16:16
結果:id
mobile1
mobile2
1666
4442
222222
3555
333
selectid,mobile1
,coalesce(m2,m1) mobile2
from (
select
id,max(case mobile_rank when '1' then mobile else '0' end) m1
,max(case mobile_rank when '2' then mobile else '0' end) m2
from (
select
id,mobile
,row_number() over(partition by id order by update_dt desc,update_tm desc) mobile_rank
from a
) b--查詢出每個id下的**號碼按更新時間倒排的序號,可能會有同一id同一時間更新2個**號碼
group by 1--每個id取出排序最靠前的2個**號碼
) c
SQL64 找到每個人的任務
有乙個person表,主鍵是id,如下 有乙個任務 task 表如下,主鍵也是id,如下 請你找到每個人的任務情況,並且輸出出來,沒有任務的也要輸出,而且輸出結果按照person的id公升序排序,輸出情況如下 輸出 1 fh none 2 tm tm works well 2 tm tm works...
SQL69 牛客每個人最近的登入日期 四
牛客每天有很多人登入,請你統計一下牛客每個日期登入新使用者個數,有乙個登入 login 記錄表,簡況如下 第1行表示user id為2的使用者在2020 10 12使用了客戶端id為1的裝置登入了牛客網,因為是第1次登入,所以是新使用者 第4行表示user id為2的使用者在2020 10 13使用...
SQL67 牛客每個人最近的登入日期 二
牛客每天有很多人登入,請你統計一下牛客每個使用者最近登入是哪一天,用的是什麼裝置.有乙個登入 login 記錄表,簡況如下 第1行表示user id為2的使用者在2020 10 12使用了客戶端id為1的裝置登入了牛客網 第4行表示user id為3的使用者在2020 10 13使用了客戶端id為2...