在select list-SQL中按列分组

时间:2012-09-27 12:53:08

标签: sql sql-server group-by

他们是否可以通过a.MEMB进行分组?我已经对它进行了研究,并找到了解决它的方法,但似乎无法让它发挥作用。我不想对其他酷列中的什么感兴趣,但我确实需要在结果中显示它们。

 ;with main as (SELECT a.MEMB
   , ta.DRAW
   , ta.foc
   , a.ENTRY
  , tc.DESCRIP

   FROM a with (nolock)
          inner join  tal      
   inner join  ta      
         inner join tc        
  WHERE a.ENTRY between @start and @end
   and a.TRAN != 0
   and tc.TRANN=a.TRANN
   and tc.TRANT=a.TRANT  
)

1 个答案:

答案 0 :(得分:1)

您可以使用ROW_NUMBER()对数据进行分区。但是,您的查询目前无法正常工作,因为您缺少连接

;with main as 
(SELECT a.MEMB, ta.DRAW, ta.foc, a.ENTRY, tc.DESCRIP,
        row_number() over (partition by a.MEMB order by a.Memb) rn
 FROM a with (nolock) 
 inner join  tal on ...
 inner join  ta  on ...     
 inner join tc     on    tc.TRANN=a.TRANN 
     and tc.TRANT=a.TRANT   
  WHERE a.ENTRY between @start and @end 
   and a.TRAN != 0 
) 
    select * from main where rn = 1