TABLE1包含一列num值,需要按数值大小范围统计数量,例如num为0-19的有几条记录,20-39的有几条记录。使用函数+表变量的方式来实现。

函数定义:

IF OBJECT_ID('fn_test') IS NOT NULL
DROP FUNCTION fn_test

GO
CREATE FUNCTION fn_test

(
)
RETURNS @result TABLE  (num INT,tmptype VARCHAR(20)
AS
BEGIN
 
 DECLARE @tmpTable TABLE(num INT,tmptype VARCHAR(20))

    INSERT INTO @ageTable
 SELECT COUNT(*) AS cnt, '测试类型' AS tmptype from Table1 where num<20

 BEGIN
 insert   into   @result  SELECT * FROM @tmpTable
 END
 RETURN
END
GO 

使用函数:

select * from fn_test()