读书人

sqlserver有没有取一个字段的中位数的

发布时间: 2012-04-28 11:49:53 作者: rapoo

sqlserver有没有取一个字段的中位数的函数?
sqlserver有没有取一个字段的中位数的函数?

[解决办法]

SQL code
CREATE  TABLE tsgss(id varchar(20),a int)INSERT tsgss SELECT '0001',1UNION ALL SELECT '0002',3UNION ALL SELECT '0003',66UNION ALL SELECT '0004',34UNION ALL SELECT '0005',6UNION ALL SELECT '0006',45UNION ALL SELECT '0007',23UNION ALL SELECT '0008',33UNION ALL SELECT '0009',7UNION ALL SELECT '0010',9goCREATE   FUNCTION getMid()RETURNS floatASBEGIN    DECLARE @s table(id int identity(1,1),a int)    DECLARE @g float        INSERT @s SELECT a FROM tsgss    IF @@ROWCOUNT %2<>0         SELECT @g=a FROM @s WHERE id=(SELECT min(id)+max(id) FROM @s)/2    ELSE        SELECT @g=avg(a*1.0) FROM @s WHERE id in(SELECT max(id)/2 FROM @s UNION ALL SELECT max(id)/2+1 FROM @s)    RETURN @gENDSELECT dbo.getMid() 

读书人网 >SQL Server

热点推荐