通过以下语句,检索到下面的数据。
select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20'
order by 录入时间,序号序号 编号    别名 录入时间
A1 86036 K_1 2009-05-20 11:38:27.547
A1 86033 K-3 2009-05-20 11:38:33.203
A1 86063 K_2 2009-05-20 11:38:39.327
B1 G42983 N_9 2009-05-20 11:38:47.703
B1 G42835 M_8 2009-05-20 11:38:56.670
A1 86117 S_3 2009-05-20 11:39:03.627
我要的排序结果是这样的,即将相同序号的记录放一起,已录入时间再排序。序号 编号    别名 录入时间
A1 86036 K_1 2009-05-20 11:38:27.547
A1 86033 K-3 2009-05-20 11:38:33.203
A1 86063 K_2 2009-05-20 11:38:39.327
A1 86117 S_3 2009-05-20 11:39:03.627
B1 G42983 N_9 2009-05-20 11:38:47.703
B1 G42835 M_8 2009-05-20 11:38:56.670试问SQL语句该如何写呀?

解决方案 »

  1.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间
      

  2.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间这样?
      

  3.   


    --这样吗?
    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间
      

  4.   

    SELECT * 
    FROM TB 
    ORDER BY [序号],[录入时间]
      

  5.   

    order by的时候把序号放在前面
    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 录入时间,序号 
      

  6.   

    /*通过以下语句,检索到下面的数据。 
    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 录入时间,序号 序号 编号    别名 录入时间 
    A1 86036 K_1 2009-05-20 11:38:27.547 
    A1 86033 K-3 2009-05-20 11:38:33.203 
    A1 86063 K_2 2009-05-20 11:38:39.327 
    B1 G42983 N_9 2009-05-20 11:38:47.703 
    B1 G42835 M_8 2009-05-20 11:38:56.670 
    A1 86117 S_3 2009-05-20 11:39:03.627 
    我要的排序结果是这样的,即将相同序号的记录放一起,已录入时间再排序。 序号 编号    别名 录入时间 
    A1 86036 K_1 2009-05-20 11:38:27.547 
    A1 86033 K-3 2009-05-20 11:38:33.203 
    A1 86063 K_2 2009-05-20 11:38:39.327 
    A1 86117 S_3 2009-05-20 11:39:03.627 
    B1 G42983 N_9 2009-05-20 11:38:47.703 
    B1 G42835 M_8 2009-05-20 11:38:56.670 试问SQL语句该如何写呀?*/
    declare @t table(序号 varchar(2), 编号 varchar(20),别名 varchar(10), 录入时间 datetime)
    insert @t select 
    'A1','86036', 'K_1' ,'2009-05-20 11:38:27.547' union all select
    'A1', '86033', 'K-3', '2009-05-20 11:38:33.203' union all select
    'A1', '86063' ,'K_2', '2009-05-20 11:38:39.327' union all select
    'B1', 'G42983', 'N_9', '2009-05-20 11:38:47.703' union all select
    'B1', 'G42835', 'M_8', '2009-05-20 11:38:56.670' union all select
    'A1', '86117', 'S_3' ,'2009-05-20 11:39:03.627' 
    select 序号,编号,别名,录入时间 
    from @t where 录入时间>'2009-5-20' 
    order by 序号,录入时间
    /*
    所影响的行数为 6 行)序号   编号                   别名         录入时间                                                   
    ---- -------------------- ---------- ------------------------------------------------------ 
    A1   86036                K_1        2009-05-20 11:38:27.547
    A1   86033                K-3        2009-05-20 11:38:33.203
    A1   86063                K_2        2009-05-20 11:38:39.327
    A1   86117                S_3        2009-05-20 11:39:03.627
    B1   G42983               N_9        2009-05-20 11:38:47.703
    B1   G42835               M_8        2009-05-20 11:38:56.670(所影响的行数为 6 行)
    */
      

  7.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号 ,录入时间
      

  8.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间--先按序号升序排序,相同序号的再按录入时间升序排序
      

  9.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间
      

  10.   

    /*通过以下语句,检索到下面的数据。 
    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 录入时间,序号 序号 编号    别名 录入时间 
    A1 86036 K_1 2009-05-20 11:38:27.547 
    A1 86033 K-3 2009-05-20 11:38:33.203 
    A1 86063 K_2 2009-05-20 11:38:39.327 
    B1 G42983 N_9 2009-05-20 11:38:47.703 
    B1 G42835 M_8 2009-05-20 11:38:56.670 
    A1 86117 S_3 2009-05-20 11:39:03.627 
    我要的排序结果是这样的,即将相同序号的记录放一起,已录入时间再排序。 序号 编号    别名 录入时间 
    A1 86036 K_1 2009-05-20 11:38:27.547 
    A1 86033 K-3 2009-05-20 11:38:33.203 
    A1 86063 K_2 2009-05-20 11:38:39.327 
    A1 86117 S_3 2009-05-20 11:39:03.627 
    B1 G42983 N_9 2009-05-20 11:38:47.703 
    B1 G42835 M_8 2009-05-20 11:38:56.670 试问SQL语句该如何写呀?*/
    declare @t table(序号 varchar(2), 编号 varchar(20),别名 varchar(10), 录入时间 datetime)
    insert @t select 
    'A1','86036', 'K_1' ,'2009-05-20 11:38:27.547' union all select
    'A1', '86033', 'K-3', '2009-05-20 11:38:33.203' union all select
    'A1', '86063' ,'K_2', '2009-05-20 11:38:39.327' union all select
    'B1', 'G42983', 'N_9', '2009-05-20 11:38:47.703' union all select
    'B1', 'G42835', 'M_8', '2009-05-20 11:38:56.670' union all select
    'A1', '86117', 'S_3' ,'2009-05-20 11:39:03.627' 
    select 序号,编号,别名,录入时间 
    from @t where 录入时间>'2009-5-20' 
    order by 序号,录入时间 --先按序号排序,如果序号相同在按录入时间排序/*
    所影响的行数为 6 行)序号   编号                   别名         录入时间                                                   
    ---- -------------------- ---------- ------------------------------------------------------ 
    A1   86036                K_1        2009-05-20 11:38:27.547
    A1   86033                K-3        2009-05-20 11:38:33.203
    A1   86063                K_2        2009-05-20 11:38:39.327
    A1   86117                S_3        2009-05-20 11:39:03.627
    B1   G42983               N_9        2009-05-20 11:38:47.703
    B1   G42835               M_8        2009-05-20 11:38:56.670(所影响的行数为 6 行)
    */
      

  11.   

    怎么我从数据库里检索出来是这样的啊?序号   编号                   别名         录入时间                                                   
    ---- -------------------- ---------- ------------------------------------------------------ 
    B1   G42983               N_9        2009-05-20 11:38:47.703
    B1   G42835               M_8        2009-05-20 11:38:56.670
    A1   86036                K_1        2009-05-20 11:38:27.547
    A1   86033                K-3        2009-05-20 11:38:33.203
    A1   86063                K_2        2009-05-20 11:38:39.327
    A1   86117                S_3        2009-05-20 11:39:03.627
      

  12.   


    select 序号,编号,别名,录入时间 
    from @t where 录入时间>'2009-5-20' 
    order by 序号,录入时间 desc
    试试
      

  13.   

    order by 序号,录入时间
      

  14.   

    我觉得一个order by像是不能解决问题啊我要的结果是这样的按时间对‘序号’列排序,即时间在前面的 ‘序号’排在前面然后 ‘序号’相同的排在一起(排在一起的也按时间再排)
      

  15.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间
      

  16.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号 desc,录入时间
      

  17.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间
      

  18.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号 ,录入时间
      

  19.   

    select 序号,编号,别名,录入时间 from cmipsmain
    order by 序号,录入时间
      

  20.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号 ,录入时间
      

  21.   

    搂主是不是要这样的效果?
    排序只能用order by ,没条件要创造条件order byselect a.序号,a.编号,a.别名,a.录入时间 
    from cmipsmain a,(select 序号,min(录入时间) as 录入时间 from cmipsmain where 录入时间>'2009-5-20' group by 序号) as t
    where a.录入时间>'2009-5-20' 
    and a.序号 = t.序号
    order by t.录入时间,a.序号,a.录入时间
      

  22.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间
      

  23.   

    Haiwer 的解答是我想要的! 谢谢大家!
      

  24.   

    select * from (select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' order by 录入时间,序号) as T order by 序号,录入时间
      

  25.   

    SQL code select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间 
      

  26.   

    select 序号,编号,别名,录入时间 
    from @t where 录入时间>'2009-5-20' 
    order by 序号,录入时间
      

  27.   

    select 序号,编号,别名,录入时间 from @t where 录入时间>'2009-5-20'
    order by 序号,录入时间 
      

  28.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号,录入时间
      

  29.   

    select 序号,编号,别名,录入时间 from cmipsmain where 录入时间>'2009-5-20' 
    order by 序号 ,录入时间