定义
首先看一下它的定义:
INTERVAL(N,N1,N2,N3,..........)
复制
INTERVAL()
函数进行比较列表(N1,N2,N3等等)
中的N值。该函数如果N<N1返回0,如果N<N2返回1,如果N<N3返回2 等等。如果N为NULL,它将返回-1。列表值必须是N1<N2<N3的形式才能正常工作。
下面的代码是显示 INTERVAL()
函数如何工作的一个简单的例子:
mysql>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10);
+---------------------------------------------------------+
| INTERVAL(6,1,2,3,4,5,6,7,8,9,10) |
+---------------------------------------------------------+
| 6 |
+---------------------------------------------------------+
1 row in set (0.00 sec)复制
结果中,6是从零开始的索引,列表第一个值的值大于N. 在我们的例子中,6 属于 [6,7) ,所以返回第6个索引
(另 INTERVAL 还是日期计算的关键字)
用法
好,下面看一个使用 INTERVAL
实现数据分组的示例
假设有一个下载速度表(有 speed 和 count 两个字段),
然后统计1M,2M,4M,8M,8M以上这个5个速度区间的个数
select INTERVAL(speed,1000,2000,4000,8000) as i_s, sum(count)
from a_speed_table
group by i_s复制
上面的 sql 根据速度区间分组,再对不同区间出现的次数求和
文章转载自进击的代码,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
2646次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
788次阅读
2025-04-25 15:30:58
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
448次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
410次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
367次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
358次阅读
2025-04-07 12:14:29
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
263次阅读
2025-04-15 15:27:53
MySQL 8.0 OCP 1Z0-908 考试解析指南(二)
JiekeXu
236次阅读
2025-04-30 17:37:37
MySQL 8.4 新特性深度解析:功能增强、废弃项与移除项全指南
JiekeXu
216次阅读
2025-04-18 20:21:32
SQL优化 - explain查看SQL执行计划(下)
金同学
186次阅读
2025-05-06 14:40:00