我有下表...
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 大大减慢了速度)
SELECT
MemberID, ServDate,
MAX(ServDate) OVER (PARTITION BY MemberID) AS LastServDate
FROM Table
标准 SQL,适用于大多数现代 RDBMS(包括 SQL Server 和 Oracle)。
EDIT顺便说一下,如果你想了解更多:MSDN 参考。为结束
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)