先创建一张测试表

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

插入测试数据

 insert into test (id, count) values(1000,1),(2000,2),(3000,3),(4000,4),(5000, 5),(6000,6),(7000,7),(8000,8),(9000,9);
insert into test (id, count) values(1100,1),(2100,2),(3100,3),(4100,4),(5100, 5),(6100,6),(7100,7),(8100,8),(9100,9);
insert into test (id, count) values(1200,1),(2200,2),(3200,3),(4200,4),(5200, 5),(6200,6),(7200,7),(8200,8),(9200,9);
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()聚合操作。

方法二:

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

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

mysql 采样查询 / 间隔查询 / 跳跃查询的两种实现思路的更多相关文章

  1. MySQL关闭查询缓存(QC)的两种方法

    MySQL Query Cache 会缓存select 查询,安装时默认是开启的,但是如果对表进行INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP ...

  2. 查询list转化为tree的两种方式及排序

    方式一,数据库查询tree; MyBatis collection 集合 MyBatis 是数据持久层框架,支持定制化 SQL.存储过程以及高级映射.尤其强大在于它的映射语句,比如高级映射中的 col ...

  3. linq 实现查询字符串拼接 : And 和 OR 两种方式

    N年前我们是这样来 拼接查询字符串的: // 何问起 hovertree.com public string Test(string a, string b, string c,string d) { ...

  4. Oracle查询部门工资最高员工的两种方法 1、MAX()函数 2、RANK()函数

      本文以SCOTT用户下初始的EMP表为参考.代码可直接使用.   查询EMP表结构的语句如下,[代码1]: DESC EMP;   EMP表结构如下:[结果1]: SQL> DESC EMP ...

  5. mysql 存储过程中的declare 和 set @的两种变量的区别

    两者在手册中的说明: DECLARE var_name[,...] type [DEFAULT value]这个语句被用来声明局部变量.要给变量提供一个默认值,请包含一个DEFAULT子句.值可以被指 ...

  6. C++连接mysql数据库的两种方法

    本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...

  7. mysql开启远程登陆(修改数据表和授权两种方法)

    一.确认防火墙没有阻止3306端口(一般服务器默认会屏蔽掉) windows防火墙例外设置方法 控制面板(右上角选择查看方式为大图标)---防火墙---高级设置---高级设置---出站规则---最右边 ...

  8. mysql查询一天,查询一周,查询一个月的数据【转】

    转自:http://www.cnblogs.com/likwo/archive/2010/04/16/1713282.html 查询一天: select * from table where to_d ...

  9. mysql自增id超大问题查询

    引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,"快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了 ...

随机推荐

  1. Django之 静态模板渲染

    既可以简单的 django.http.HttpResponse 来把内容显示到网页上,也可以使用渲染模板的方法来显示内容. 说明:代码是基于 Django 1.8,但 Django 1.4 - Dja ...

  2. 商品分类选择 Jquery插件

    如果想要用此插件,请加微信: DS-valeb   说 category 插件索取 效果如下: 注意,一次性加载所有数据, 只适用小量,如果量大,请根据你的可行性来决择! 数据表设计结构如下: 调用如 ...

  3. Spring boot中自动编译配置

    MAVEN自动编译配置 热部署功能 <dependency> <groupId>org.springframework.boot</groupId> <art ...

  4. 拓展abaqus python 模块

    abaqus python 本身自带一些模块: 在安装路径:\\SIMULIA\Abaqus\6.14-1\tools\SMApy\python2.7\Lib\site-packages和另外一个2. ...

  5. 关于UI自动化中元素定位常用方法的个人总结

    1.如果目标元素有id属性,优先使用id定位: 2.元素locator尽可能保证简洁,考虑locator中路径的变化频率,尽量减少后期更新和维护成本: 3.使用xpath时,不要一味的使用‘/’逐层进 ...

  6. C# .NET MODEL 复制,实体类复制

    -- /// <summary> /// 将T1 实体的参数复制给 T2 ,不能处理多层次 /// </summary> /// <typeparam name=&quo ...

  7. 如何重置Gitlab root用户密码

    一.切换到root用户 sudo su 二.进入gitlab控制台 gitlab-rails console production 三.查找用户对象 user = User.).first 四.重置密 ...

  8. Windows7环境下Excel2010中图片超链接默认打开程序修改

    在Windows7的环境下,打开Excel2010超链接图片,都是默认用IE打开.搜索了所有的中文网络,没有找到解决方案,且发现受此困扰的人不少.后来用纯英文搜索,终于找到解决方案并尝试成功. 1,操 ...

  9. MD5加密出现 无法启动:此实现不是Windows平台FIPS验证的加密算法的一部分

    出现问题: 出现这个问题的原因是订票助手.NET使用了MD5算法,而系统的组策略安全设置导致无法使用此算法.要修正此问题,请按照如下操作(两种方法任选其一). 注:(来源于  http://ask.f ...

  10. How do I improve my English speaking skills in a very short time?

    You have asked some very important questions. I think the first step is to prioritize the issues: Yo ...