当前位置:  开发笔记 > 数据库 > 正文

SQL Max(日期)没有group by

如何解决《SQLMax(日期)没有groupby》经验,为你挑选了1个好方法。

说我有下表...

MemberID  ServDate
001       12-12-2015
001       12-13-2015
001       12-15-2015
002       11-30-2015
002       12-04-2015

我想让它看起来像这样......

MemberID  ServDate     LastServDate
001       12-12-2015   12-15-2015
001       12-13-2015   12-15-2015
001       12-15-2015   12-15-2015
002       11-30-2015   12-04-2015
002       12-04-2015   12-04-2015

有没有办法,我可以做到这一点,而不必使用GROUP BY或嵌套查询?(我正在处理一个非常大的数据库,而GROUP BY会大大减慢速度)

谢谢!



1> jods..:
SELECT 
  MemberID, ServDate, 
  MAX(ServDate) OVER (PARTITION BY MemberID) AS LastServDate
FROM Table

标准SQL,因此适用于大多数现代RDBMS(包括SQL Server和Oracle).

顺便编辑,如果你想了解更多:MSDN参考.为了OVER

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有