如何做OUTER JOIN和GROUP BY,ORDER BY?

时间:2016-03-12 21:10:39

标签: sql sql-server tsql db2

请帮助我,我认为简单的查询我找不到解决方案。假设我需要使用GROUP BY和ORDER BY .. 这是我的第一个表(USRID是唯一ID的用户配置文件):

  USRID  USRNAME
   1     usrer 1
   2     usrer 2
   3     usrer 3
   4     usrer 4
   5     usrer 5
   6     usrer 6
   7     usrer 7

第二个表不按特定顺序保存用户个人资料更新历史记录:

  USRID   UPDATEDON
   5    01/01/01 10:00
   1    01/22/03 01:10
   3    02/12/13 04:20
   2    03/30/11 12:30
   2    01/12/13 07:00
   3    01/15/10 09:10
   1    04/08/12 11:20
   4    11/06/07 12:00
   1    01/04/08 11:30
   6    10/02/03 06:00
   7    02/12/07 08:40
   3    01/22/08 02:00
   5    06/12/09 01:50
   5    07/10/13 08:00
   3    08/03/12 10:60
   6    01/04/04 11:00

我需要加入两个表来提取最新日期用户个人资料更新以获得如下结果:

  USRID   UPDATEDON
   1    04/08/12 11:20
   2    01/12/13 07:00
   3    08/03/12 10:60
   4    11/06/07 12:00
   5    07/10/13 08:00
   6    01/04/04 11:00
   7    02/12/07 08:40

1 个答案:

答案 0 :(得分:4)

您实际上不需要为您提供的示例数据加入表格。你可以聚合第二个:

select USRID, max(UPDATEDON)
from secondtable
group by USRID
order by USRID;