博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 采样查询 / 间隔查询 / 跳跃查询的两种实现思路
阅读量:5085 次
发布时间:2019-06-13

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

先创建一张测试表

1 CREATE TABLE `test` (2   `id` int(11) DEFAULT NULL,3   `count` int(11) DEFAULT NULL4 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

插入测试数据

1 insert into test (id, count) values(1000,1),(2000,2),(3000,3),(4000,4),(5000, 5),(6000,6),(7000,7),(8000,8),(9000,9); 2 insert into test (id, count) values(1100,1),(2100,2),(3100,3),(4100,4),(5100, 5),(6100,6),(7100,7),(8100,8),(9100,9);3 insert into test (id, count) values(1200,1),(2200,2),(3200,3),(4200,4),(5200, 5),(6200,6),(7200,7),(8200,8),(9200,9);4 insert into test (id, count) values(1300,1),(2300,2),(3300,3),(4300,4),(5300, 5),(6300,6),(7300,7),(8300,8),(9300,9);

方法一:

mysql> SELECT id, SUM(count) FROM test GROUP BY id DIV 1000;+------+------------+| id   | SUM(count) |+------+------------+| 1000 |          4 || 2000 |          8 || 3000 |         12 || 4000 |         16 || 5000 |         20 || 6000 |         24 || 7000 |         28 || 8000 |         32 || 9000 |         36 |+------+------------+9 rows in set (0.00 sec)

这种方法通过group by将id根据[1000, 2000), [2000, 3000), [3000, 4000), [4000, 5000), [5000, 6000), [6000, 7000), [7000, 8000), [9000, 10000)分组,分组后的数据可以对其进行AVG()、MAX()、MIN()、SUM()、COUNT()聚合操作。

方法二:

1 mysql> SELECT id, count FROM test WHERE id MOD 1000 = 0; 2 +------+-------+ 3 | id   | count | 4 +------+-------+ 5 | 1000 |     1 | 6 | 2000 |     2 | 7 | 3000 |     3 | 8 | 4000 |     4 | 9 | 5000 |     5 |10 | 6000 |     6 |11 | 7000 |     7 |12 | 8000 |     8 |13 | 9000 |     9 |14 +------+-------+15 9 rows in set (0.00 sec)

这种方法可以实现采样查询,但是缺点也很明显,比较适合采样字段连续的场景。

 

转载于:https://www.cnblogs.com/snowater/p/8343407.html

你可能感兴趣的文章
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
QML学习笔记之一
查看>>
Window 的引导过程
查看>>
App右上角数字
查看>>
从.NET中委托写法的演变谈开去(上):委托与匿名方法
查看>>
小算法
查看>>
201521123024 《java程序设计》 第12周学习总结
查看>>
新作《ASP.NET MVC 5框架揭秘》正式出版
查看>>
IdentityServer4-用EF配置Client(一)
查看>>
WPF中实现多选ComboBox控件
查看>>
读构建之法第四章第十七章有感
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
IOS-图片操作集合
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
测试计划
查看>>