MYSQL实现连续签到功能断签一天从头开始(sql语句)

作者:wxs55555 时间:2024-01-22 16:35:11 

1,创建测试表


CREATE TABLE `testsign` (
`userid` int(5) DEFAULT NULL,
`username` varchar(20) DEFAULT NULL,
`signtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`type` int(1) DEFAULT '0' COMMENT '为0表示签到数据,1表示签到日期字典数据'
) ENGINE=InnoDB DEFAULT CHARSET=utf8

2,插入测试数据,签到时间为5.21号到6.5号,可以写活,但是要写存储过程,我比较懒,重点应该是取签到数据的代码,就是第三点,呵呵


insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-21 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-22 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-23 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-24 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-25 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-26 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-27 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-28 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-29 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-30 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-05-31 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-06-01 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-06-02 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-06-03 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-06-04 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('72164','字典','2017-06-05 00:00:00','1');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('800675','吴小双签到数据','2017-05-21 00:00:00','0');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('800675','吴小双签到数据','2017-05-22 00:00:00','0');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('800675','吴小双签到数据','2017-05-23 00:00:00','0');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('800675','吴小双签到数据','2017-05-24 00:00:00','0');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('800675','吴小双签到数据','2017-05-25 00:00:00','0');
insert into `testsign` (`userid`, `username`, `signtime`, `type`) values('800675','吴小双签到数据','2017-05-26 00:00:00','0');

3,查询连续签到数据


SELECT * FROM testsign WHERE TYPE=0 AND
DATE_FORMAT(signtime,'%Y%m%d')>(
SELECT IFNULL(MAX(DATE_FORMAT(signtime,'%Y%m%d')),"20170520") FROM testsign WHERE TYPE=1
AND DATE_FORMAT(signtime,'%Y%m%d')<=DATE_ADD(NOW(), INTERVAL -1 DAY)
AND DATE_FORMAT(signtime,'%Y%m%d') NOT IN (
   SELECT DATE_FORMAT(signtime,'%Y%m%d') FROM testsign WHERE TYPE=0 AND userid=800675
   )
)
AND DATE_FORMAT(signtime,'%Y%m%d')<='20170605'
AND userid=800675

未断数据

MYSQL实现连续签到功能断签一天从头开始(sql语句)

删掉23号数据,从24号开始算,连续签三天

MYSQL实现连续签到功能断签一天从头开始(sql语句)

以上所述是小编给大家介绍的MYSQL实现连续签到功能断签一天从头开始网站的支持!

来源:http://blog.csdn.net/wxs55555/article/details/72674856

标签:mysql,签到
0
投稿

猜你喜欢

  • Python遍历字典方式就实例详解

    2021-02-16 08:50:58
  • Mysqlslap MySQL压力测试工具 简单教程

    2024-01-15 20:10:10
  • 了解WEB页面工具语言XML(一)产生背景

    2008-09-05 17:18:00
  • setTimeout与setInterval在不同浏览器下的差异

    2024-04-23 09:23:54
  • MySQL表设计优化与索引 (十)

    2010-10-25 19:51:00
  • Go语言参数传递是传值还是传引用

    2024-02-20 02:32:34
  • pandas.read_csv参数详解(小结)

    2022-03-10 21:00:35
  • python实现门限回归方式

    2023-12-27 09:19:06
  • Python使用Pygame绘制时钟

    2022-08-04 14:10:07
  • Mysql删除重复数据并且只保留一条(附实例!)

    2024-01-27 04:48:27
  • Spark中的数据读取保存和累加器实例详解

    2022-09-13 19:26:46
  • 小记一次mysql主从配置解决方案

    2024-01-12 18:28:42
  • Python match语句的具体使用

    2023-07-24 03:10:08
  • Python 对象中的数据类型

    2022-01-25 00:58:35
  • 六种酷炫Python运行进度条效果的实现代码

    2022-06-07 05:22:16
  • 分享网站群发站内信数据库表设计

    2024-01-14 09:54:28
  • Myeclipse链接Oracle等数据库时lo exception: The Network Adapter could not establish the connection

    2023-07-19 12:40:02
  • python使用原始套接字发送二层包(链路层帧)的方法

    2022-06-30 04:14:48
  • 基于Python计算圆周率pi代码实例

    2021-03-06 05:13:17
  • vue调用本地摄像头实现拍照功能

    2024-04-28 09:21:46
  • asp之家 网络编程 m.aspxhome.com