MySQL 使用 比较函数 INTERVAL() 函数 实现数据按区间分组
2023-09-11 14:19:38 时间
首先看一下它的定义:
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个索引
请记住,6是从零开始的索引,列表第一个值的值大于N. 在我们的例子中,7是错误的值,它是位于第六索引插槽。
(另 INTERVAL 还是日期计算的关键字)
SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,1); -- 返回比N大的位置 SELECT NOW()-INTERVAL 24 HOUR -- 时间比较: 返回 前一天
-------------------------------------------- 定义结束分割线 --------------------------------------------
好,下面看一个使用 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 根据速度区间分组,再对不同区间出现的次数求和
转:https://blog.csdn.net/a_ran/article/details/78496923
相关文章
- VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
- Mysql 查询以某个字符开头的语句和LIKE的使用
- mysql UNION all 实现不对称数据统计
- 使用 MySQL 管理层次结构的数据
- mysql - 在已有真实数据的表的基础上加入自增主键
- Mysql 报错“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”
- Mysql查询数据时,自动为结果编上序号
- mysql update select 从查询结果中更新数据
- Mysql的安全配置向导命令mysql_secure_installation
- MySQL如何定位并优化慢查询sql
- 用sqoop将mysql的数据导入到hive表中
- mySql 查询最大、最小值及子查询
- MYSQL导入csv类型的数据出现The MySQL server is running with the --secure-file-priv option
- MySQL实现从其他表查询数据并插入另外一张表
- 【MySQL】MySQL中如何对数据进行排序
- liunux mysql MySQL表名不区分大小写的设置方法
- 一步一步跟我学习hadoop(7)----hadoop连接mysql数据库运行数据读写数据库操作
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
- MySql中把一个表的数据插入到另一个表中的实现代码--转
- Mysql 1290 - The MySQL server is running with the --secure-file-priv option
- Mysql自增ID起始值修改
- [Mysql] 更新数据