【发布时间】:2017-08-19 15:19:22
【问题描述】:
我需要根据创建日期选择最近的行。 这是我的桌子:
REF X REF Y EMLOYEE CREATION DATE
2879074 DLP/2015.01551-B.01 Didier 3/5/2015
2879074 DLP/2015.00841-A.01 Didier 2/5/2015
2879074 DLP/2015.00146-A.01 jacques 1/8/2015
2879074 DLP/2014.07840-A.02 1/6/2015
2879074 DLP/2014.05967-B.03 diet 6/21/2016
2879074 DLP/2014.05967-B.03 ext 6/21/2016
2879074 DLP/2014.05967-B.02 David 10/21/2015
2879074 DLP/2014.05967-B.02 ieva 10/21/2015
2879074 DLP/2014.05967-B.02 laetitia10/21/2015
2879074 DLP/2014.05967-B.02 PLN 10/21/2015
2879074 DLP/2014.05967-B.01 David 4/14/2015
2879074 DLP/2014.05967-B.01 ieva 4/14/2015
2879074 DLP/2014.05967-B.01 laetitia4/14/2015
2879074 DLP/2014.05967-B.01 PLN 4/14/2015
2733407 DLP/2014.00138-B.03 Andy 9/6/2016
2733407 DLP/2014.00138-B.03 Nell 9/6/2016
2733407 DLP/2014.00138-B.03 stephane9/6/2016
2733407 DLP/2014.00138-B.02 Andy 2/17/2016
2733407 DLP/2014.00138-B.02 Nell 2/17/2016
2733407 DLP/2014.00138-B.02 nicola 2/17/2016
2733407 DLP/2014.00138-B.02 diet 2/17/2016
2733407 DLP/2014.00138-B.01 herve 3/10/2015
2733407 DLP/2014.00138-B.01 nicola 3/10/2015
输出应该是:
Ref x Ref y employee Creation Date
2879074 DLP/2014.05967-B.03 diet 6/21/2016
2879074 DLP/2014.05967-B.03 ext 6/21/2016
2733407 DLP/2014.00138-B.03 Andy 9/6/2016
2733407 DLP/2014.00138-B.03 Nell 9/6/2016
2733407 DLP/2014.00138-B.03 stephane9/6/2016
我猜我必须使用窗口功能,但我无法列出正确的 REF Y。任何帮助将不胜感激 非常感谢
【问题讨论】:
-
你最近的一行不清楚(至少对我来说)
-
请张贴 DDL,DML 所涉及的表格,不要张贴图片。拥有此信息有助于其他人快速重现您的问题并更好地解决问题。以下是一些可能有助于您理解的示例。 --样本数据
create table t1 ( id int ) insert into t1 values (1), (2), (1)我当前的查询/我尝试过的内容:select id,count(*) as cnt from t1 group by id我当前的结果:id cnt 1 2 2 1我的预期结果:id cnt 1 2 2 1 1 2 -
发布涉及的表的ddl,dml有助于其他人快速测试,您可以更快地获得帮助
标签: sql-server sql-server-2012 window-functions