http://nuowei08.cnblogs.com/articles/455658.html

数据分组目前有几种方法可以实现,以下测试过速度比较快的一种算法。

 

数据

f1 ,f2

============

1    a

2   b

3   c

1   f

1   d

2  h

2   k

=============

实现显示

 

1   a,f,d

2   b,h,k

3   c

SELECT f1, f2 ,CAST('' AS VARCHAR(100))  f3 INTO #hh FROM gx_T_ksgxb
DECLARE @h1 varCHAR(20),@h2 VARCHAR(100),@h3 VARCHAR(100)
SET @h2=''
SET @h3=''


UPDATE #hh SET @h3 = CASE WHEN @h1 =f1 THEN @h3+','+f2 ELSE f2 END,
@h1=f1, f3=@h3

SELECT @h
SELECT ksbh,MAX(f3) FROM #hh  GROUP BY f1

DROP TABLE #hh

 

posted on 2011-06-04 17:26  nr  阅读(323)  评论(0)    收藏  举报