這是我目前的看法:
select u.*
from users u
join(
select iid, usr, position,max(created_at) as ca
from users
group by iid, usr, position
) j on j.ca = u.created_at
這將獲取最近重復行的串列。
EX TABLE: 10001 User 1 intern 2022-10-14 00:00:00
10002 User 2 intern 2022-10-15 00:00:00
10003 User 3 intern 2022-10-13 00:00:00
10003 User 3 p.a 2022-10-15 00:00:00
10001 User 1 p.a 2022-10-16 00:00:00
使用查詢后:
10001 User 1 p.a 2022-10-16 00:00:00
10003 User 3 p.a 2022-10-15 00:00:00
10002 User 2 intern 2022-10-15 00:00:00
我現在要做的是添加一個額外的列來添加重復行的計數。
預期結果:
10001 User 1 p.a 2022-10-16 00:00:00 [2]
10003 User 3 p.a 2022-10-15 00:00:00 [2]
10002 User 2 intern 2022-10-15 00:00:00 [1]
有沒有辦法做到這一點,還是我必須撰寫另一個查詢來獲得計數?我也在考慮將 max 與內部連接的計數分層,但可能因為我使用錯誤而無法正常作業。
uj5u.com熱心網友回復:
如果您需要通過 juts 添加 count(*) 在每個組中涉及的行數
select u.*, j.ca, j.num_dup
from users u
join(
select iid, usr, position,max(created_at) as ca, count(*) as num_dup
from users
group by iid, usr, position
) j on j.ca = u.created_at
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/514700.html
