SQL:选择多个记录时如何只选择最新记录

Anon Ymouse

因此,我想采用这组“返回的”结果,并根据创建的日期最短(最新)的日期将其转换为下面的结果,以表示最新添加的结果。

PhoneNum    sourcetable      FullName         reference        Task                                         CreatedDate
    0   This is not important   Mr john smith   39161   This is different every time, but has been renamed  16/03/2015 15:01:05
    0   This is not important   Mr john smith   39161   This is different every time, but has been renamed  12/03/2015 16:58:22
    0   This is not important   Mr john smith   39161   This is different every time, but has been renamed  12/03/2015 16:58:25
    0   This is not important   Mr john smith   39161   This is different every time, but has been renamed  10/03/2015 12:29:50
    0   This is not important   Mr john smith   39161   This is different every time, but has been renamed  12/03/2015 14:18:47
    0   This is not important   Mr john smith   39161   This is different every time, but has been renamed  10/03/2015 12:40:21
    1   This is not important   Mr wilson smith 39158   This is different every time, but has been renamed  10/03/2015 12:07:14
    1   This is not important   Mr wilson smith 39158   This is different every time, but has been renamed  10/03/2015 12:07:14
    1   This is not important   Mr wilson smith 39158   This is different every time, but has been renamed  10/03/2015 12:07:13

我需要退货:

PhoneNum    sourcetable     FullName       reference      Task                                           CreatedDate
0   This is not important   Mr john smith   39161   This is different every time, but has been renamed  12/03/2015 16:58:25
1   This is not important   Mr wilson smith 39158   This is different every time, but has been renamed  10/03/2015 12:07:14

到目前为止我有什么

select distinct d.PhoneNum,d.sourcetable,N.FullName,C.fk_applicationid as ref,t.Subject,t.CreatedDate 
from Dial d
join Database.dbo.DM_PhoneNumbers p on p.PhoneNum1 = d.PhoneNum collate latin1_general_CI_AS
join Database.dbo.DM_PhoneNumbers on p.PhoneNum2 = d.PhoneNum collate latin1_general_CI_AS
join Database.dbo.DM_ClientApplicants C on C.FK_ClientID = P.FK_ApplicationID
join Database.dbo.DM_Names N on c.FK_ClientID = N.FK_ApplicationID
join Database.dbo.Tasks T on T.FK_ApplicationID = c.FK_ApplicationID
where c.FK_ClientID in (39157,39160)

任何帮助,将不胜感激。

Hiten004

请使用排名功能查找旧记录,未经测试!!希望这个帮助

SELECT * FROM (

    select distinct d.PhoneNum,d.sourcetable,N.FullName,C.fk_applicationid as ref,t.Subject,t.CreatedDate 
    , RANK() OVER ( PARTITION BY  N.FullName ORDER BY t.CreatedDate DESC ) AS iRank


    from Dial d
    join Database.dbo.DM_PhoneNumbers p on p.PhoneNum1 = d.PhoneNum collate latin1_general_CI_AS
    join Database.dbo.DM_PhoneNumbers on p.PhoneNum2 = d.PhoneNum collate latin1_general_CI_AS
    join Database.dbo.DM_ClientApplicants C on C.FK_ClientID = P.FK_ApplicationID
    join Database.dbo.DM_Names N on c.FK_ClientID = N.FK_ApplicationID
    join Database.dbo.Tasks T on T.FK_ApplicationID = c.FK_ApplicationID
    where c.FK_ClientID in (39157,39160)

) AS t 
WHERE t.iRank = 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL选择最新记录

来自分类Dev

SQL:如何只选择最旧的记录

来自分类Dev

SQL查询:如何选择记录,但是如果存在父记录,则选择它的最新子记录

来自分类Dev

只选择最高记录

来自分类Dev

从多个表中选择最新记录

来自分类Dev

从多个联接表中选择最新记录

来自分类Dev

如何只选择表b中的记录

来自分类Dev

仅选择最新记录

来自分类Dev

访问SQL从条件中选择最新记录

来自分类Dev

在SQL Server中选择最新插入的记录

来自分类Dev

Microsoft Access SQL - 选择记录的最新“版本”

来自分类Dev

SQL-按每个记录的最新日期选择记录

来自分类Dev

如何选择sql语句未选择的记录?

来自分类Dev

只选择时间用完的记录

来自分类Dev

SQL如果值是“已选择”,则为雇员选择最新记录

来自分类Dev

基于多个表选择SQL删除记录

来自分类Dev

存在多个记录时,如何使用MIN和MAX选择记录?

来自分类Dev

仅选择每月的最新记录

来自分类Dev

选择每个设备的最新记录

来自分类Dev

查询以选择最新的更新记录

来自分类Dev

如何从休眠表中选择多个记录

来自分类Dev

如何从休眠表中选择多个记录

来自分类Dev

从具有多个联接的查询中选择最新的客户记录

来自分类Dev

如何为 SQL 中的每个特定值只选择一条记录?

来自分类Dev

SQL(SCCM数据库)中的查询在有重复项时仅选择最新记录

来自分类Dev

SQL选择记录

来自分类Dev

sql查询记录选择

来自分类Dev

SQL 查询选择记录

来自分类Dev

当您只希望一个匹配项时,如何在熊猫数据框中选择用户的最小记录,同时考虑多个匹配项