当前位置: 代码迷 >> Sql Server >> sqlserver有没有取一个字段的中位数的函数?该怎么解决
  详细解决方案

sqlserver有没有取一个字段的中位数的函数?该怎么解决

热度:104   发布时间:2016-04-27 13:08:07.0
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()
  相关解决方案