sql 数据分组
时间:2011-06-04 来源:nr
数据分组目前有几种方法可以实现,以下测试过速度比较快的一种算法。
数据
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