求SQL查询语句
表A有以下数据:
Id            Name          DateTime
1             张三          2010-03-15
2             李四          2010-03-19
3             王五          2010-03-16
4             马六          2010-03-14
5             赵七          2010-03-18现在我的需求是,前两条记录保持不变,当我修改下面的时间时,按照降序排列
需要得到下面的结果,前两条要一直在上面
Id            Name          DateTime
2             李四          2010-03-19
5             赵七          2010-03-18
4             马六          2010-03-20        只改变后数据的排列
3             王五          2010-03-16
1             张三          2010-03-15不知小弟有没有说清楚,请高手帮帮忙。谢谢了!!!

解决方案 »

  1.   

    order by charindex(Name ,'李四,赵七'),DateTime desc
      

  2.   

    --> 测试数据:@tb
    declare @tb table([Id] int,[Name] varchar(4),[DateTime] datetime)
    insert @tb
    select 1,'张三','2010-03-15' union all
    select 2,'李四','2010-03-19' union all
    select 3,'王五','2010-03-16' union all
    select 4,'马六','2010-03-14' union all
    select 5,'赵七','2010-03-18'select * from @tb order by charindex(Name ,'赵七,李四') desc,DateTime desc
    /*
    Id          Name DateTime
    ----------- ---- -----------------------
    2           李四   2010-03-19 00:00:00.000
    5           赵七   2010-03-18 00:00:00.000
    3           王五   2010-03-16 00:00:00.000
    1           张三   2010-03-15 00:00:00.000
    4           马六   2010-03-14 00:00:00.000(5 行受影响)*/
      

  3.   


    declare @tb table([Id] int,[Name] varchar(4),[DateTime] datetime)
    insert @tb
    select 1,'张三','2010-03-15' union all
    select 2,'李四','2010-03-19' union all
    select 3,'王五','2010-03-20' union all
    select 4,'马六','2010-03-14' union all
    select 5,'赵七','2010-03-18'select * from @tb order by charindex(Name ,'赵七,李四') desc,DateTime desc=======
    (5 行受影响)
    Id          Name DateTime
    ----------- ---- -----------------------
    2           李四   2010-03-19 00:00:00.000
    5           赵七   2010-03-18 00:00:00.000
    3           王五   2010-03-20 00:00:00.000
    1           张三   2010-03-15 00:00:00.000
    4           马六   2010-03-14 00:00:00.000(5 行受影响)