mysql计算连续天数,mysql连续登录天数,连续天数统计

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2016年11月28日 09:29:10 星期一

http://fanshuyao.iteye.com/

mysql计算连续天数,mysql连续登录天数,连续天数统计:

http://fanshuyao.iteye.com/blog/2341455

Oracle计算连续天数,计算连续时间,Oracle连续天数统计

http://fanshuyao.iteye.com/blog/2341163

一、表结构及初始化数据

DROP TABLE user_login;

CREATE TABLE user_login(

pid INT NOT NULL,

login_time DATETIME NOT NULL

);

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-11-25 13:30:45');

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-11-24 13:30:45');

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-11-24 10:30:45');

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-11-24 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-11-23 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-11-10 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-11-09 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-11-01 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(1,'2016-10-31 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-25 13:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-24 13:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-23 10:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-22 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-21 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-20 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-19 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-02 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-11-01 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-10-31 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-10-30 09:30:45');

INSERT INTO user_login(pid, login_time) VALUES(2,'2016-10-29 09:30:45');

二、封装计算连续天数的方法

DELIMITER $$

CREATE

FUNCTION f_continuty_days(id INT, start_time DATE, end_time DATE)

RETURNS INT

BEGIN

DECLARE days INT;

DECLARE flag INT;

DECLARE previous_day DATE;

SET days := 0;

SET flag := 1;

SET previous_day := DATE_SUB(end_time,INTERVAL 1 DAY);

WHILE flag>0 DO

SELECT COUNT(DISTINCT(DATE(login_time))) INTO flag FROM user_login

WHERE pid = id

AND DATE(login_time) = previous_day ;

IF flag > 0 THEN

SET days := days + 1;

SET previous_day := DATE_SUB(previous_day,INTERVAL 1 DAY);

END IF;

END WHILE;

RETURN days;

END$$

DELIMITER ;

三、调用方法

把用户pid、开始时间、结束时间参数传进去。

SELECT f_continuty_days(1,DATE('2016-10-01'),DATE('2016-11-25'));

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2016年11月28日 09:29:10 星期一

http://fanshuyao.iteye.com/

mysql 连续天数_mysql计算连续天数,mysql连续登录天数,连续天数统计相关推荐

  1. mysql 按时间累计计算_精通MySQL索引背后的数据结构及算法原理

    本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,mysql支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree ...

  2. mysql status改变_mysql 配置详解mysql SHOW STATUS 详解

    1. back_log 指定MySQL可能的连接数量.当MySQL主线程在很短的时间内得到非常多的连接请求,该参数就起作用,之后主线程花些时间(尽管很短)检查连接并且启动一个新线程. back_log ...

  3. mysql 全文检索 教程_MySQL:详细说明MySQL全文检索图文详细教程

    软件安装:装机软件必备包 本站电脑知识提供电脑入门知识,计算机基础知识,计算机网络应用基础知识,电脑配置知识,电脑故障排除和电脑常识大全,帮助您更好的学习电脑!不为别的,只因有共同的爱好,为中国互联网 ...

  4. php mysql备份脚本_MySQL备份脚本,mysql脚本

    MySQL备份脚本,mysql脚本 mysqlbackup.php: php//备份mysql set_time_limit(0); date_default_timezone_set('PRC'); ...

  5. mysql 启动参数_MySQL启动相关参数 MySQL DBA学习

    1.basedir = /usr/local/mysql 代表MySQL安装路径 2.datadir = /usr/local/mysql/data 代表MySQL的数据文件路径 3.port = 3 ...

  6. Mysql编码教程_mysql编码设置教程 mysql编码要怎么设置呢

    mysql的默认编码是拉丁,每次JSP制作网页用insert语句插入数据库时汉字都会显示成问号,安装mysql后,启动服务并登陆,使用show variables命令可查看mysql数据库的默认编码: ...

  7. mysql 查询分析器_mysql查询分析工具|mysql查询分析器(MySQL Query Browser)下载v1.1.20 官方版_ IT猫扑网...

    mysql查询分析器又名为mysqlquerybrowser,是一款可以帮助用户快捷进行sql语句查询的工具,让你在编程的过程中更加方便的进行工作.有需要的朋友就来IT猫扑下载吧! MySQL Que ...

  8. 查看mysql临时密码_MySQL修改密码,查看MySQL临时密码

    一.查看MySQL临时密码 Linux安装好MySQL后,为了增加数据库的安全性,在安装时会为root用户生成一个临时的随机密码,存放在/var/log/mysqld.log 中. [root@loc ...

  9. mysql 自动复制_MySQL 复制搭建(附mysql自动搭建脚本)

    # MySQL 复制搭建(附mysql自动搭建脚本) 1. 用自动化脚本拉起一个mysql数据库,作为主库 `[root@upright92 mysql]# ./install_mysql.py 33 ...

最新文章

  1. wordcount代码_Scala小案例之wordcount
  2. 上下定高 中间自适应_联合首发|医药供应链平台一块医药获新一轮融资,赋能产业上下游提质增效...
  3. 用c++来开发php的底层模块|用c++来开发apache模块,Apache模块开发实例(2)
  4. 【Centos 7】【Docker】 安装 redis
  5. 【Hibernate】Hibernate基本原理及概念详解
  6. 计算机基础扎实,到底是说什么?
  7. 看动画学算法之:平衡二叉搜索树AVL Tree
  8. Android之基于BaseAdapter和SimpleAdapter的GridView
  9. NumPy 基础入门
  10. 85相似标准形06——初等因子、初等因子与不变因子的求法
  11. IT Library第4期《备份域升为主域控制器》
  12. hbase二级索引解决方案
  13. 激活函数:双曲正切函数 tanh(x)
  14. Delta并联机构重力补偿分析
  15. 产品720vr全景摄影展示吸引客户主动浏览
  16. Chapter3.1.1 python函数小示例
  17. 浙江中医药OJ暑期训练五题解
  18. 如何查看C++ 编译的DLL函数
  19. 据采集的三种方式-如何获取数据
  20. 西门子 博途 hmi 显示屏仿真出错

热门文章

  1. 推荐免费下载大型酒店管理系统源码
  2. oracle移动文件命令是什么意思,Oracle使用命令移动各类文件的方法
  3. 成都信息工程大学计算机分数线,成都信息工程大学录取分数线2021是多少分(附历年录取分数线)...
  4. 【NDN实验】ndnSIM 2.0: A new version of the NDN simulator for NS-3 全文翻译
  5. python画三角形并涂色_如何用python画叠加三角形?
  6. 游戏c是什么网络语言,游戏cpdd网络用语是什么意思 王者荣耀里很常见
  7. 前端学习-品优购实践
  8. 2018CSTC web2 writeup
  9. 【名企面试经验-新浪-校招提前批】【数据平台研发工程师】
  10. vscode翻译插件最佳搭配、翻译变量、划词翻译、中译英(提高生产效率)