本帖最后由 shashayu511 于 2012-12-16 11:29:23 编辑

解决方案 »

  1.   

    with t as 
    (
    select 'A' as M,1 as N union 
    select 'A' as M,2 as N union 
    select 'A' as M,3 as N union 
    select 'B' as M,4 as N union 
    select 'B' as M,5 as N union 
    select 'B' as M,6 as N union 
    select 'C' as M,7 as N 
    ),tt as 
    (
    select 
    ROW_NUMBER()over(partition by M order by M,N) 辅助列
    ,*
    from t
    )
    select 
    case  辅助列 when 1 then M else '' end M
    ,N
    from tt
      

  2.   

    这样的效果放在前台处理比较好啊
    然后再处理到界面,比较方便
    LINQvar result = from u in db.TableA
                 group u by new {u.A,u.B} into temp
                 select new
                 {
                     temp.Key.A,
                     temp.Key.B,
                     temp
                 };