CREATE TABLE [dbo].[SupplementDemandClientConfirm](
[ID] [int] IDENTITY(1,1) NOT NULL,
[SupplementDemandID] [int] NULL,
[DemandID] [int] NULL,
[TransName] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[TransDate] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[CreateUser] [int] NULL,
[CreateTime] [datetime] NULL,
 CONSTRAINT [PK_SUPPLEMENTDEMANDCLIENTCONFI] PRIMARY KEY CLUSTERED 
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
以上是我的表结构,我想查询的是,与当前时间最接近的那条记录,请问各位这个要怎么查?

解决方案 »

  1.   


    select *
    from SupplementDemandClientConfirm t
    where id = (select top 1 id from SupplementDemandClientConfirm where 分组列 = t.分组列 order by CreateTime desc)
      

  2.   


    select top 1 * from SupplementDemandClientConfirm 
    order by CreateTime desc
      

  3.   


    select *
    from SupplementDemandClientConfirm t
    where CreateTime= (select max(CreateTime) from SupplementDemandClientConfirm where 分组列 = t.分组列)
      

  4.   

    select top 1 * from SupplementDemandClientConfirm order by abs(datediff(m,getdate(),CreateTime))
      

  5.   

    select top 1 * from SupplementDemandClientConfirm order by abs(datediff(ss,getdate(),CreateTime))
    用秒来比.
      

  6.   

    select top(1) * from tb order by CreateTime desc
      

  7.   

    select top 1 * from SupplementDemandClientConfirm 
    order by abs(datediff(mi,CreateTime,getdate()))