传入用户id查询连续签到天数

DROP FUNCTION IF EXISTS getTimes;

DELIMITER $$

CREATE    FUNCTION  getTimes(idstr VARCHAR(50))

RETURNS INT

BEGIN

DECLARE times INT;

DECLARE a INT;

DECLARE tempdt DATETIME;

DECLARE tempdt2 DATETIME;

SET  times = 0;

SET a=1;

SELECT COUNT(*) INTO times FROM t_sys_member_sign  WHERE TO_DAYS(NOW())-TO_DAYS(SIGN_TIME)<=0 AND id=idstr;

SELECT SIGN_TIME INTO tempdt FROM t_sys_member_sign WHERE TO_DAYS(NOW())-TO_DAYS(SIGN_TIME)=1  AND id=idstr;

WHILE tempdt IS NOT NULL AND a=1 DO

SET times=times+1;

SET tempdt2=tempdt;

SELECT SIGN_TIME INTO tempdt FROM t_sys_member_sign WHERE TO_DAYS(tempdt)-TO_DAYS(SIGN_TIME)=1  AND id=idstr;

IF TO_DAYS(tempdt2)-TO_DAYS(tempdt)<1 THEN SET a=0; END IF;

END WHILE;

RETURN times;

END$$

SELECT getTimes(‘009af8fe7c20431994098e044d36b058‘);

时间: 2024-08-07 08:06:49

传入用户id查询连续签到天数的相关文章

sqlserver查询连续签到天数

create table #t(keyId int identity,actionDate datetime)insert into #t(actionDate) select distinct CreateDate from CRM_ScoreTransaction WHERE MemberID='1E7DFF7F-51ED-4E21-8471-E892E0326BBD' order BY CreateDate desc ---采用遍历的方式生成用户连续签到的天数 start declare

获取连续登陆天数,连续签到天数 ,方法优化

获取连续登陆天数,连续签到天数,类似这样的需求应该是一个常见的需求,那么我们有没有一套成熟的解决方案呢 ?下面我来跟大家分享一下我的故事. 在猴年马月的一天,有个用户反馈个人中心打开缓慢,需要7.8秒,做为一个认真负责任的程序员GG,我尼玛放下手中的其他工作,跟踪调查并且解决该问题. 第一步重现问题: 连着登陆了好几个账号到个人中心,打开都不慢呀 ,那是什么问题呢,就你一个人出问题,是你人品差吧,正当打算以此敷衍用户的时候,测试组的小陶说,他也遇到了这个问题,纳尼 !!你个人品差的家伙 ,让俺来

使用mybatis开发Dao的原始方法,实现根据用户id查询一个用户信息 、根据用户名称模糊查询用户信息列表 、添加用户信息等功能

1.需求 将下边的功能实现Dao: 根据用户id查询一个用户信息 根据用户名称模糊查询用户信息列表 添加用户信息 2. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类 3.User.xml映射文件的内容为: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "h

根据群ID和用户Id查询 + string QueryQunByUserIdAndQunId(int userId, int qunId) V1.0

#region  根据群ID和用户Id查询 + string QueryQunByUserIdAndQunId(int userId, int qunId)  V1.0        /// <summary>        /// 13.0 根据群ID和用户Id查询        /// </summary>        /// <param name="userId"></param>        /// <param na

根据用户ID查询上级和上上级组织机构

select pol.*, pss.sub_sys_name as sub_sys_name, --子系统名 pui.user_name as oper_user_name, --用于名 pui.real_name as oper_real_name, --用户真名 psf.fun_name as fun_name, --功能点名 psm.mod_name as mod_name, --模块名 poi.org_name as org_name, --组织机构名 office_list.org_n

统计连续签到的方法

/** * 从最后一次签到时间反推连续签到天数 * * @param list * List<Date> * @param asc * boolean (true:ASC,false:DESC) 对list的描述,是升序还是降序 * @return * * */ public static Map<String, Object> calcuContinue(List<Date> list, boolean asc) { Date end = new Date(); Da

连续时间查询问题-查询一个用户连续登陆天数超过N天的用户

问题:比如查询一个用户连续登陆天数超过7天的用户,或者查询连续在7天的某个时间段登陆的用户. 网上查询sql的语句的用法,对于hive来说也可以试试,查询词"SQL 连续天数查询" 如果使用hadoop如何解决?? 思路(以连续N天登陆为例): 1.计算出每天登陆的用户集合 1.使用MR,第一个job(map以日期为key,对用户进行分组输出.reduce设计:内部构造一个以N容量大小的列表(作为队列),模拟一下啊(日期过来就是有序的,从小到大) 1)第一个日期过来,放在list里面,

oracle查询连续n天登录的用户

-- 查询连续3天登录的用户 1 先创建一个表,如下: 1 create table USER_DATA 2 ( 3 USER_ID NUMBER, 4 LOGIN_TIME DATE 5 ); 2 插入用户登录数据: 1 insert into user_data (USER_ID, LOGIN_TIME) values ('10002', to_date('21-07-2014', 'dd-mm-yyyy')); 2 insert into user_data (USER_ID, LOGIN

通过id查询用户,但是只返回指定的字段

使用hibernate和spring MVC 通过id查询到一个用户,但是只返回指定的字段 方式一: 拼接hql /*** * 通过数据库ID查询用户,但是只返回指定的字段 * @param id * @param propertyNames : 指定的多个成员变量 * @return */ public Object[] getPropertiesById(int id,String[] propertyNames){ if(ValueWidget.isNullOrEmpty(property