查询连续7天的数据sql问题
来源:互联网 发布:微信域名备案 编辑:程序博客网 时间:2024/05/17 03:04
参考:http://www.dreaminto.com/2012/0312/611.html
下面是两段根据自己需求改造的两段sql,备用
1、查询连续一个动作超过30天的用户id编号的集合
SET @wy=0;SELECT GROUP_CONCAT(DISTINCT userid)FROM (SELECT MAX(DATE)-MIN(DATE) LESS,userid FROM (SELECT DATE-rn diff, userid, DATE, rn FROM (SELECT @wy:=@wy+1 rn, userid, DATEDIFF(operateTime,'1971-01-01') DATE,operateTime FROM (SELECT DATE(operateTime) operateTime, userid FROM ub_log WHERE operateTime>='2014-04-29 00:00:00' AND operateTime <'2014-07-28 00:00:00' AND uri = 'synchrodata' GROUP BY userid, DATE(operateTime) ORDER BY userid, DATE(operateTime) )X )X )X GROUP BY diff,userid )XWHERE LESS>=30;
2、查询连续同一个动作大于等于30天的用的信息
SET @wy=0;SELECT u.userid 'ID',u.username '用户名称',u.nickname '昵称',u.regip '注册时间',CASE ext.sex WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '保密' END AS '性别',temp.operatetime '最后使用时间' FROM ub_user u LEFT JOIN ub_user_ext ext ON u.userid = ext.userid LEFT JOIN (SELECT * FROM (SELECT userid ,operatetime FROM ub_log WHERE uri = 'synchrodata' AND userid IN ('第一步中查询出来的id的集合替换这里') ORDER BY operatetime DESC) t GROUP BY userid ORDER BY userid DESC) temp ON u.userid = temp.useridWHERE u.userid IN (SELECT DISTINCT useridFROM (SELECT MAX(DATE)-MIN(DATE) LESS,userid FROM (SELECT DATE-rn diff, userid, DATE, rn FROM (SELECT @wy:=@wy+1 rn, userid, DATEDIFF(operateTime,'1971-01-01') DATE,operateTime FROM (SELECT DATE(operateTime) operateTime, userid FROM ub_log WHERE operateTime>='2014-04-29 00:00:00' AND operateTime <'2014-07-28 00:00:00' AND uri = 'synchrodata' GROUP BY userid, DATE(operateTime) ORDER BY userid, DATE(operateTime) )X )X )X GROUP BY diff,userid )XWHERE LESS>=30) ORDER BY u.userid DESC;
0 0
- 查询连续7天的数据sql问题
- sql经典问题-查询连续的时间
- 【MySQL】查询前7天的数据统计(解决日期不连续问题)
- 查询不连续的数据
- sql查询7天内的数据
- sql中查询数据精度的问题
- 在论坛中出现的比较难的sql问题:7(子查询 判断某个字段的值是否连续)
- SQL技巧之查询连续的记录
- SQL查询案例:利用笛卡尔积寻找连续日期中残缺的数据
- Sql的数据查询
- SQL SERVER中SQL语句的一个问题——得到连续数字数据集的SQL语句
- 在论坛中出现的比较难的sql问题:4(row_number函数+子查询 分组连续编号问题)
- sql 查询最新n天的数据
- SQL 2005恢复数据库的问题和海量数据查询
- sql查询树形结构的数据 n+1问题
- SQL查询的问题
- MS SQL server 2005中查询某张表从30-40条数据,但主键ID不是连续的
- SQL查询连续号码段
- 浅谈并发服务器---对三种并发方式的认识
- hdu 2095 find your present(2)
- 用Win32写的定时关机程序
- 南阳理工 oj 596 谁是最好的coder
- 数据结构6.2
- 查询连续7天的数据sql问题
- C语言中字符串的相关处理
- HDU 1285
- JSR 303 - Bean Validation 介绍及最佳实践
- SocketServer 服务器
- python的datetime模块功能详解
- 学习ASM技术--条带化原理和rebalance
- CUDA编程指南阅读笔记(六)
- Lua table转C++数组