`

mysql函数实例-统计日新增用户

 
阅读更多

新增用户统计,仅用作备忘。

 

CREATE FUNCTION `statics_user_new`() RETURNS int(11)
    COMMENT '统计新增用户'
BEGIN
	#Routine body goes here...	
	DECLARE stopFlag INT DEFAULT 0 ;
	DECLARE _shop_id VARCHAR(11) DEFAULT NULL;	#餐厅id
	DECLARE _device VARCHAR(50) DEFAULT NULL;	#手机设备号
	DECLARE _a_token CHAR(64) DEFAULT NULL;		#与苹果服务器会话
	DECLARE _s_token VARCHAR(64) DEFAULT NULL;	#与点菜网服务器会话
	DECLARE _counts INT DEFAULT 0;
	
	#查询昨天新创建的用户
	DECLARE cur1 CURSOR FOR SELECT id, device, a_token, s_token FROM visitor_user 
		where DATE_FORMAT(create_time, '%Y-%m-%d') = DATE_SUB(DATE_FORMAT(now(),'%Y-%m-%d'), INTERVAL 1 DAY);
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET stopFlag=1;
	
	OPEN cur1;
		
	FETCH cur1 INTO _shop_id, _device, _a_token, _s_token;
	WHILE  stopFlag = 0 do
		INSERT INTO report_user_new_day_detail(id, shop_id, device, a_token, s_token) 
			values (UUID(), _shop_id, _device, _a_token, _s_token);

		FETCH cur1 INTO _shop_id, _device, _a_token, _s_token;
	END WHILE;
	
	CLOSE cur1;

	#统计日新增用户数
	SELECT COUNT(device) INTO _counts FROM visitor_user 
		where DATE_FORMAT(create_time, '%Y-%m-%d') = DATE_SUB(DATE_FORMAT(now(),'%Y-%m-%d'), INTERVAL 1 DAY);
	
	INSERT INTO report_user_new_day(id, day_time, new_counts, type_client) 
		VALUES(UUID(), DATE_SUB(DATE_FORMAT(now(),'%Y-%m-%d'), INTERVAL 1 DAY), _counts, 0);
	
	SET _counts = 1;
	RETURN _counts;

END

 

0
2
分享到:
评论

相关推荐

    MySQL命令大全

    MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...

    MySQL InnoDB 查询优化实现分析

    当表的数据发生变化时(例如,新增、删除或修改记录),InnoDB 会自动更新相关的统计信息。这确保了优化器始终基于最新的数据分布情况来进行决策。 **5.3 统计信息收集总结** 正确和及时的统计信息对于优化查询至...

    mysql5.7_el7.zip

    安装MySQL 5.7对于EL7系统的用户至关重要,因为这个版本与操作系统有很好的兼容性,并且提供了许多针对企业级应用的功能和性能提升。安装人员需要熟悉这些新特性,以便正确配置和优化MySQL实例,满足业务需求。同时...

    mysql累加计算实现方法详解

    然而,这只会返回每天新增的用户数,而不是累积的用户数。为了得到累加结果,我们需要引入MySQL的用户变量。用户变量是在当前会话中定义的变量,它们可以被用于存储中间结果并应用于后续的计算。 下面是一个使用...

    SQL袖珍参考手册(第3版)

    - **分析函数**: 用于处理数据集的统计计算,如RANK、DENSE_RANK等。 - **CASE表达式**: 包括简单CASE和搜索CASE两种形式,用于条件判断。 - **CAST函数**: 用于转换数据类型。 - **CONNECT BY查询**: 用于执行层次...

    MySQL Manager System

    MySQL Manager System是一个专为管理多个MySQL数据库设计的Web应用程序,旨在提供一个统一的管理界面,让用户可以方便地查询和操作分布在不同服务器上的数据库。在淘宝的RDS(Relational Database Service)内网环境...

    MySQL5.7中 performance和sys schema中的监控参数解释(推荐)

    - **内存使用监控(Memory Usage)**:从MySQL 5.7.2起,Performance Schema增加了对内存使用情况的统计,包括账户、主机、线程、用户和事件层面的统计,有助于优化内存配置。 - **存储程序监控(Stored Programs)**:...

    基于thinkphp6.0+mysql+bootstrap4的疫情防控系统毕业设计.zip

    总结,基于ThinkPHP6.0、MySQL和Bootstrap4的疫情防控系统毕业设计是一个综合运用现代Web开发技术的实例,涵盖了后端开发、数据库设计、前端布局以及数据可视化等多个方面。通过这个项目,开发者可以提升自己的全栈...

    X5平台开发手册

    - **使用X5自带MySQL数据库**:对于初学者或者小型项目,可以直接利用X5平台内置的MySQL数据库来快速搭建开发环境。 - **使用现有数据库**:如果已有现成的数据库系统,可以通过配置将其与X5平台集成,支持多种...

    黑马面试宝典知识点复习

    - 后台管理商品信息,包括新增、修改、删除商品等。 #### 购物车系统 - 用户可以添加商品到购物车,调整数量或移除商品。 #### 订单系统 - 管理订单信息,包括生成订单、支付、退款等流程。 ### 电商项目中的技术...

    MFC-ODBC-.rar_mfc排序

    4. **用户界面**:MFC提供了一系列的对话框和控件,可以快速构建出友好的用户界面,如添加成绩、查看成绩、统计分析等功能的界面,使得非技术用户也能轻松操作。 5. **数据操作**:通过MFC的成员函数,可以实现对...

    C语言课程设计 服装销售系统.zip

    例如,可以设计一个`add_product()`函数用于新增商品,一个`search_product()`函数用于查找特定商品。 2. 销售记录模块:此模块应包含记录销售、更新库存的功能。在每次交易时,调用相应的函数记录交易详情,并更新...

    thinkphp 字母函数详解T/I/N/D/M/A/R/U

    - 示例:M('User','user_','mysql')将实例化一个名为User的Model,表前缀为'user_',使用默认数据库连接。 6. A(实例化多层控制器) - A函数用于实例化多层控制器,支持指定模块、控制层名称和控制器层次。 - ...

Global site tag (gtag.js) - Google Analytics