標籤:
代碼如下:
select t1.* from (SELECT ut.TransactionAccount,u.NickName,p.ProfessorName ‘綁定老師‘,ub.UpdateTime AS ‘變動時間‘ FROM dbo.UserBind ub JOIN dbo.UserTransaction ut ON ub.UserId=ut.UserIdJOIN dbo.Users u ON ub.UserId=u.UserIdJOIN dbo.Professor p ON p.Id=ub.ProfessorIdWHERE u.IsEnable=1AND ub.UpdateTime<‘2016-01-18‘) t1inner join(SELECT ut.TransactionAccount,u.NickName,max(ub.UpdateTime) AS ‘變動時間‘ FROM dbo.UserBind ub JOIN dbo.UserTransaction ut ON ub.UserId=ut.UserIdJOIN dbo.Users u ON ub.UserId=u.UserIdJOIN dbo.Professor p ON p.Id=ub.ProfessorIdWHERE u.IsEnable=1 AND ub.UpdateTime<‘2016-01-18‘group by ut.TransactionAccount,u.NickName) as t2on t1.TransactionAccount=t2.TransactionAccountand t1.變動時間=t2.變動時間
寫法思路:
有時間列就取最大時間列
有自增的id就去最大id
如果是想返回一個記錄集,並且有時間列的話可以這麼做
select 重複列,時間列,其餘列
inner join (select 重複列,max(時間列) as 時間列 from 表 group by 重複列) AS T2
on t1.重複列=t2.重複列 and t1.時間列 =t2.時間列
from 表 AS T1
總結:
寫法程式碼片段重複很多,大家有什麼好的方法呢???
去 帳號、暱稱重複,並取最新一次綁定記錄