MYSQL实现连续签到功能断签一天从头开始(sql语句)
发布时间 - 2026-01-11 01:16:31 点击率:次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
未断数据
删掉23号数据,从24号开始算,连续签三天
以上所述是小编给大家介绍的MYSQL实现连续签到功能断签一天从头开始,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# mysql
# 连续签到
# 签到
# SQLSERVER记录登录用户的登录时间(自写脚本)
# mysql如何查询两个日期之间最大的连续登录天数
# 使用github部署前端vue项目
# SQL查询语句求出用户的连续登陆天数
# 小双
# 小编
# 在此
# 给大家
# 时间为
# 三点
# 所述
# 给我留言
# 感谢大家
# 要写
# 存储过程
# 应该是
# 疑问请
# 有任何
# 测试数据
# InnoDB
# CHARSET
# ENGINE
# values
# type
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Linux安全能力提升路径_长期防护思维说明【指导】
javascript读取文本节点方法小结
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
常州企业网站制作公司,全国继续教育网怎么登录?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
中国移动官方网站首页入口 中国移动官网网页登录
如何构建满足综合性能需求的优质建站方案?
Laravel如何使用withoutEvents方法临时禁用模型事件
nginx修改上传文件大小限制的方法
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
JavaScript Ajax实现异步通信
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
如何在建站宝盒中设置产品搜索功能?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
如何生成腾讯云建站专用兑换码?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
中山网站制作网页,中山新生登记系统登记流程?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何在万网自助建站中设置域名及备案?
如何快速生成橙子建站落地页链接?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
微信小程序 HTTPS报错整理常见问题及解决方案
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
js实现获取鼠标当前的位置
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
在线制作视频网站免费,都有哪些好的动漫网站?
如何在 Pandas 中基于一列条件计算另一列的分组均值
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
详解Android中Activity的四大启动模式实验简述
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
如何做网站制作流程,*游戏网站怎么搭建?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
C#如何调用原生C++ COM对象详解
如何在宝塔面板中创建新站点?
如何快速打造个性化非模板自助建站?
html5的keygen标签为什么废弃_替代方案说明【解答】
香港服务器部署网站为何提示未备案?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
打造顶配客厅影院,这份100寸电视推荐名单请查收
Android仿QQ列表左滑删除操作
如何在Windows虚拟主机上快速搭建网站?
Linux系统命令中screen命令详解

