SQL Server特殊显示最后一行

SQL Server特殊显示最后一行,sql,sql-server,Sql,Sql Server,我有一个学生 ID ( auto incremment) Nume Sum DataEnter 1 Alex 100 2013-05-20 2 Marian 200 2014-04-14 3 Vasile 150 2012-01-01 4 Andrei

我有一个学生

ID ( auto incremment)  Nume       Sum       DataEnter

1                      Alex       100     2013-05-20
2                      Marian     200     2014-04-14
3                      Vasile     150     2012-01-01
4                      Andrei     100     2013-05-04
5                      Teo        200     2013-02-11
我使用此选项显示重复的:

SELECT ID, Nume, Sum, DataEnter, FROM dbo.student
 Where ISNULL(Sum, 0) IN (Select ISNULL (Sum,0) from dbo.student
 group BY SUM
 HAVING COUNT(*)>1 ) 
 order by SUM desc, ID desc, DataEnter desc
显示以下内容:

200  5  Teo 2013-02-11
200  2  Marian  2014-04-14
100  4  Andrei  2013-05-04
100  1  Alex    2013-05-20
200 5   Teo 2013-02-11
200 2   Marian  2014-04-14
100 6   Costy   2014-05-27
100 4   Andrei  2013-05-04
100 1   Alex    2013-05-20
现在:我输入一个新数据,例如:

100     6      Costy      with today dataenter day : 2014-05-27
显示以下内容:

200  5  Teo 2013-02-11
200  2  Marian  2014-04-14
100  4  Andrei  2013-05-04
100  1  Alex    2013-05-20
200 5   Teo 2013-02-11
200 2   Marian  2014-04-14
100 6   Costy   2014-05-27
100 4   Andrei  2013-05-04
100 1   Alex    2013-05-20
我想显示输入“按日期排序”的最后一个重复类别。我想展示:

100 6   Costy   2014-05-27
100 4   Andrei  2013-05-04
100 1   Alex    2013-05-20
200 5   Teo 2013-02-11
200 2   Marian  2014-04-14

因为100 7 Costy 2014-05-27是最后一个参赛者。

我希望这会对你有所帮助

Set Dateformat ymd

Declare @Student table
(ID int identity(1,1),  Name varchar(20),[Sum] int,DataEnter Date)
Insert into @Student Values
('Alex'     ,100,'2013-05-20'),
('Marian'   ,200,'2014-04-14'),
('Vasile'   ,150,'2012-01-01'),
('Andrei'   ,100,'2013-05-04'),
('Teo'      ,200,'2013-02-11')

Select  A.Sum,A.ID,A.Name,A.DataEnter
From    @Student A
Join    (
        Select  Sum [Sum],max(DataEnter) DataEnter
        from    @Student
        group   By Sum 
        having  Count(*) > 1) Lu
On      A.Sum = Lu.Sum
order By Lu.DataEnter Desc,A.ID Desc
结果

添加记录

Insert into @Student Values
('Costy'     ,100,'2014-05-27')

Select  A.Sum,A.ID,A.Name,A.DataEnter
From    @Student A
Join    (
        Select  Sum [Sum],max(DataEnter) DataEnter
        from    @Student
        group   By Sum 
        having  Count(*) > 1) Lu
On      A.Sum = Lu.Sum
order By Lu.DataEnter Desc,A.ID Desc
结果

再添加一条记录

Insert into @Student Values
('Mary'     ,200,'2015-05-27')

Select  A.Sum,A.ID,A.Name,A.DataEnter
From    @Student A
Join    (
        Select  Sum [Sum],max(DataEnter) DataEnter
        from    @Student
        group   By Sum 
        having  Count(*) > 1) Lu
On      A.Sum = Lu.Sum
order By Lu.DataEnter Desc,A.ID Desc
结果


你的确切问题是什么?已经是2015-05-27了吗?Sh*t。。我落后了一年……)你不应该按重新排列顺序吗?类似于:
orderbysum DESC,DataEnter DESC,ID DESC