博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL存储过程动态查询数据区间
阅读量:7041 次
发布时间:2019-06-28

本文共 1142 字,大约阅读时间需要 3 分钟。

以前经常看到人查询数据库采用left join及case方式,一条一条的枚举查询整个数据的数据区间方法可行,但是数据一但很大,枚举就死悄悄,在网上查看,几乎全是照抄case ,left join枚举无耐自己写了个存储过程,希望给大家抛砖引玉!

set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER PROC pro_UserList @jisum int,--基数@step int,--步长@max int--列举最大值asSET NOCOUNT ON----Create Temporary TableCREATE TABLE #tempTable(sumlist int,--统计数tongji varchar(50)--统计区间)--initial--INSERT INTO #tempTable VALUES(0,'00-00')WHILE (0<1)   BEGIN     IF(@jisum*@step<@max)        BEGIN            INSERT INTO #tempTable SELECT COUNT(*),STR(@jisum,3,0)+'-'+STR(@jisum*@step,3,0)            FROM [dbo].[UserList]            WHERE age>=@jisum AND age<@jisum*@step                   END     ELSE        BEGIN           INSERT INTO #tempTable SELECT COUNT(*),STR(@jisum,3,0)+'以上'            FROM [dbo].[UserList]            WHERE age>=@jisum           BREAK        END    SELECT @jisum=@jisum*@step       ENDSELECT sumlist AS '数量',tongji AS '区间统计(年龄)' FROM #tempTablegoEXEC pro_UserList 20,2,100--EG:--UserList--id name age--1	aa	20--2	bb	21--3	cc	23--4	dd	30--5	ee	33--6	dd	40--7	ff	70--8	gg	90--9	mm	101--10    jj	103--打印结果:--数量   统计区间(年龄--5      20- 40--2      40-80--3      80以上

转载地址:http://idxal.baihongyu.com/

你可能感兴趣的文章
你的Postfix邮件服务器安全么?
查看>>
站在巨人肩膀看清IT馅饼和陷阱
查看>>
Android系统匿名共享内存(Anonymous Shared Memory)C++调用接口分析(4)
查看>>
Windows 7 的一些使用技巧
查看>>
Spring Boot中使用Redis数据库
查看>>
完整性检查工具Nabou
查看>>
Exchange企业实战技巧(26)在Outlook中打开多个邮箱
查看>>
一个Linux小型综合实验
查看>>
软件定义架构让超融合世界更加复杂
查看>>
Wi-Fi当前的趋势及对IT和物联网的影响
查看>>
服务器遭受攻击后 该如何有效地处理?
查看>>
未来 Web 设计的 7 大趋势
查看>>
赛门铁克推生物特征识别科技 告别密码
查看>>
原来CSS这样写是会让App崩溃的
查看>>
《Cocos2D权威指南》——第2章 你的第一款iPhone游戏—垂直射击游戏 2.1 准备工作...
查看>>
信息化技术让智慧城市感知增强
查看>>
AI 从业者该如何选择深度学习开源框架丨硬创公开课
查看>>
OA产品:市场需求推动OA发展
查看>>
史上最大 DDoS 攻击曝光,没想到还有这么多人拿“12345”当密码
查看>>
《算法设计编程实验:大学程序设计课程与竞赛训练教材》——1.1 机理分析法的实验范例...
查看>>