mysql函数实例-统计日存留率_MySQL
bitsCN.com
mysql函数实例-统计日存留率
1.数据库表
手机用户的信息保存在一张visitor_user的表中,其中包含了用户使用手机app软件时,可以获取的数据,包括: 商家id、手机设备号、下线时间等信息。
2.功能分析与设计
数据统计报表一般都采用DB的存储过程或函数进行统计,并将数据保存到数据库表中,提供前台应用查询和展示。对于实时性的报表需求,建议在非业务库上进行统计。一般主库对外提供业务服务,通过复制等机制将业务数据存储到专门的数据库,或者专门的物理节点上,这样就有效的避免了报表统计功能对正常业务的影响。
3.实现
1.首先,从用户日统计表中将前天的登录用户统计到存留明细表中。
2.然后,从用户日统计表中将昨天的登录用户统计出来,并将前天、昨天都登录的用户的存留状态设置为1。
3.然后,从存留明细表中统计昨天用户的存留数、存留率,并保存到存留表中。
执行统计采用了mysql的事件机制,定时触发调用统计函数,进行数据统计。
每天凌晨4点钟,开始统计昨天的日存留率。
event:
图片上传错误,待恢复后上传。
Sql代码 BEGIN #Routine body goes here... DECLARE _yesterday DATE DEFAULT NULL; DECLARE _before_yesterday DATE DEFAULT NULL; DECLARE _is_success tinyint(1) DEFAULT 0; select DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-%d'),INTERVAL 1 day) INTO _yesterday; select DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-%d'),INTERVAL 2 day) INTO _before_yesterday; #统计前天用户数,并将前天用户插入到report_user_remain_day_detail表中 SET _is_success = get_user_remain_day(_before_yesterday); #查询report_user_login_day_detail,统计昨天的用户,并将前天和昨天都登录的用户状态设置为1 SET _is_success = update_user_status_remain(_yesterday); #统计存留用户明细表,将统计数据存储到统计表report_user_remain_day SET _is_success = insert_user_remain_day(_yesterday); RETURN _is_success; END Sql代码 CREATE FUNCTION `get_user_remain_day`(`_day_time` date) RETURNS int(1) BEGIN #Routine body goes here... DECLARE stopFlag INT DEFAULT 0 ; DECLARE _device VARCHAR(50) DEFAULT NULL; DECLARE _a_token CHAR(64) DEFAULT '-1'; DECLARE _day_time date; DECLARE _shop_id INT(11) DEFAULT 0; #查询当天的登录用户 DECLARE cur1 CURSOR FOR select shop_id, device, a_token from report_user_login_day_detail WHERE day_time = _day_time; DECLARE CONTINUE HANDLER FOR NOT FOUND SET stopFlag=1; OPEN cur1; FETCH cur1 INTO _shop_id, _device, _a_token; WHILE stopFlag = 0 do INSERT INTO report_user_remain_day_detail(id, shop_id, day_time, device, a_token) values (UUID(), _shop_id, _day_time, _device, _a_token); FETCH cur1 INTO _shop_id, _device, _a_token; END WHILE; CLOSE cur1; RETURN 1; END Sql代码 CREATE FUNCTION `update_user_status_remain`(`_day_time` date) RETURNS tinyint(1) BEGIN #Routine body goes here... DECLARE stopFlag INT DEFAULT 0 ; DECLARE _device VARCHAR(50) DEFAULT NULL; DECLARE _a_token CHAR(64) DEFAULT '-1'; #查询昨天的登录用户 DECLARE cur1 CURSOR FOR select device, a_token from report_user_login_day_detail WHERE day_time = _day_time; DECLARE CONTINUE HANDLER FOR NOT FOUND SET stopFlag=1; OPEN cur1; FETCH cur1 INTO _device, _a_token; WHILE stopFlag = 0 do UPDATE report_user_remain_day_detail SET status_remain = 1, day_time = _day_time WHERE device = _device; FETCH cur1 INTO _device, _a_token; END WHILE; CLOSE cur1; RETURN 1; END Sql代码 CREATE FUNCTION `insert_user_remain_day`(`_day_time` date) RETURNS tinyint(1) BEGIN #Routine body goes here... DECLARE stopFlag INT DEFAULT 0 ; DECLARE _status_remain TINYINT(1); DECLARE _remain_count INT DEFAULT 0; DECLARE _all_count INT DEFAULT 0; DECLARE _temp_count INT DEFAULT 0; DECLARE cur2 CURSOR FOR SELECT status_remain, count(device) FROM report_user_remain_day_detail WHERE status_remain = 1 and day_time = _day_time GROUP BY status_remain; DECLARE CONTINUE HANDLER FOR NOT FOUND SET stopFlag=1; OPEN cur2; FETCH cur2 INTO _status_remain, _remain_count; WHILE stopFlag = 0 do IF _status_remain = 1 THEN SET _temp_count = _remain_count; SET _all_count = _all_count + _remain_count; ELSE SET _all_count = _all_count + _remain_count; END IF; INSERT INTO report_user_remain_day(id, day_time, remain_count, remain_percent_day, type_client) VALUES(UUID(), _day_time, _temp_count, (_temp_count / _all_count), 0); FETCH cur2 INTO _status_remain, _remain_count; END WHILE; CLOSE cur2; RETURN 1; END
bitsCN.com

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











8월 17일 뉴스에 따르면, 출처 @ibinguniverse는 오늘 웨이보에 글을 올려, 애플 아이폰 16 프로 맥스의 정확한 크기는 6.88인치, 갤럭시 S25 울트라의 정확한 크기는 6.86인치로 둘 다 6.9인치로 간주할 수 있다고 밝혔습니다. . 소식통에 따르면 Samsung Galaxy S25 Ultra는 S24 Ultra보다 본체가 더 좁고 화면이 더 넓으며, 본체에 대한 가로 화면 비율이 94.1%인 반면, S24 Ultra의 본체에 대한 가로 화면 비율은 91.5%입니다. Fenye는 해당 소식통의 Weibo를 확인하면서 새로 노출된 iPhone 16 Pro Max 사진에 대해 댓글을 달았고, 휴대폰이 실제로는 직선 화면 + 2.5D 유리에 가깝다고 생각했습니다.

애플은 최근 몇 년간 혁신이 부족하다는 비판을 받아왔지만, 애플이 늘 가만히 있던 것은 아니다. 적어도 하드웨어 설계 측면에서는 Apple 제품의 높은 단가 덕분에 엔지니어들은 비용 문제를 크게 고려하지 않고도 몇 가지 새로운 기술을 쉽게 시험해 볼 수 있습니다. 예를 들어 아이패드 프로는 애플이 가장 선호하는 '디스플레이 기술' 테스트 분야로, 아이패드 프로는 2021년 미니LED부터 2024년 탠덤 OLED까지 휴대용 스마트 기기용 디스플레이 기술의 선두에 섰다. iPad Pro가 miniLED 스크린을 탑재한 최초의 휴대용 스마트 기기는 아니지만(MSI는 Apple보다 1년 먼저 miniLED 노트북을 출시했습니다), 두 제품의 매개변수를 비교해 보면 동일하지 않다는 것을 금방 깨닫게 될 것입니다.

Smartprix의 보고서에 따르면 Xiaomi는 "Suzaku"라는 코드명 버튼 없는 휴대폰을 개발하고 있습니다. 이 소식에 따르면 코드명 Zhuque라는 이 휴대폰은 통합 컨셉으로 설계되고 언더스크린 카메라를 사용하며 계획이 변경되지 않으면 2025년에 출시될 것으로 보입니다. . 이 뉴스를 보고 2019년으로 돌아간 줄 알았어요. 당시 샤오미가 Mi MIX Alpha 컨셉폰을 출시했는데, 서라운드 스크린 버튼이 없는 디자인이 꽤 놀라웠어요. 버튼이 없는 휴대폰의 매력을 처음 본 것 같아요. "마법의 유리"를 원한다면 먼저 버튼을 죽여야 합니다. "스티브 잡스 전기"에서 잡스는 휴대폰이 "마법의 유리"처럼 되기를 희망한다고 말한 적이 있습니다.

MySQL 8.4(2024년 최신 LTS 릴리스)에 도입된 주요 변경 사항 중 하나는 "MySQL 기본 비밀번호" 플러그인이 더 이상 기본적으로 활성화되지 않는다는 것입니다. 또한 MySQL 9.0에서는 이 플러그인을 완전히 제거합니다. 이 변경 사항은 PHP 및 기타 앱에 영향을 미칩니다.

8월 19일 뉴스에 따르면 누비아는 Z50 울트라 출시 이후 진정한 풀스크린 디자인을 고수해 왔으며, 고화소 화면에서 능동적인 사진 촬영 분야를 지속적으로 탐구해 왔다. 오늘 디지털 블로거 위즈덤 피카츄는 올 하반기 출시 예정인 누비아 Z70 울트라가 업계 최고 해상도 UDC 솔루션인 1.5K 언더스크린 카메라 기술을 탑재해 데뷔한다는 소식을 전했다. 멀리. ZTE의 언더스크린 프로액티브 솔루션이 6세대로 발전한 것으로 알려졌습니다. 최신 언더스크린 사전 대응 솔루션은 Nubia Z60 Ultra 및 Red Magic 9S Pro 시리즈에서 사용할 수 있습니다. 화면 해상도는 2480x1116으로 1080P에서 1.5K 해상도 사이입니다. 이번에 Nubia는 기존 해상도의 한계를 뛰어넘고 업계의 새로운 기준을 세울 것입니다.

'검은 신화:오공'은 출시 이후 인기가 떨어지지 않았으며 주요 플랫폼에서 연일 뜨거운 검색어를 기록하고 있다. 불행히도 모바일 플레이어의 경우 PC 플레이어, 콘솔 플레이어 및 휴대용 플레이어에게만 즐거움이 있습니다. 휴대폰을 만드는 우리는 어떻게 그럴 수 있겠습니까? 우선, 100GB가 넘는 대용량 3A 게임인 만큼, 성능 요구사항이 매우 높고, 렌더링 기술도 다수 탑재되어 있다는 점에서 블랙몽키를 휴대폰에서 구동한다는 생각은 배제한다. PC하드웨어용으로 개발되어 휴대폰하드웨어에서 실행된다면 프레임레이트나 화질은 말할 것도 없고 게임에 진입하지 못할 수도 있습니다. 이 경우에는 인기 있는 클라우드 게임만 볼 수 있습니다. Tencent와 NetEase는 "Black Myth"에 대한 해당 활동을 시작했습니다. WeGame 플랫폼이 판매 플랫폼이기도하다는 장점을 활용하여 Tencent

8월 24일 뉴스에 따르면, 기술 매체 91Mobile은 어제(8월 23일) 블로그 게시물을 게재하여 Xiaomi가 8월 31일에 Redmi14C 스마트폰을 출시할 것이라는 소식을 전했습니다. 이 스마트폰은 녹색(일반 가죽이어야 함), 세 가지 색상으로 출시될 예정입니다. 검정색과 파란색. 샤오미 레드미14C는 후면에 오레오 원형 카메라 모듈을 탑재하고 카메라 센서 2개와 LED 플래시 1개를 탑재했으며 5000만 화소 메인 카메라를 탑재했으며 오른쪽에는 볼륨 및 전원 버튼이 있다. 아래 첨부된 샤오미 홍미14C 홍보 이미지를 보시면 전면에 물방울 모양의 홈이 있는 것을 보실 수 있습니다. 제품이 중저단에 위치하여 턱 부분의 프레임이 더 넓어진 모습입니다. 사양 측면에서 Xiaomi Redmi14C 휴대폰에는 새로 고침 빈도가 90H인 6.88인치 FullHD+ 해상도 화면이 장착되어 있습니다.

8월 23일자 뉴스에 따르면 디지털 블로거 디지털 챗 스테이션(Digital Chat Station)에 따르면 Realme GT7 Pro의 제품 기능이 포괄적으로 강화될 예정이며 구성에는 초음파 지문, 잠망경 망원, 초대형 배터리 및 100와트 고속 충전이 포함됩니다. . 1. Realme GT7Pro에는 대용량 6000mAh 배터리가 내장되어 있으며 100W 고속 충전을 지원합니다. 엔지니어링 기계는 무선 충전을 지원하지 않으며 양산 모델은 알 수 없습니다. 단일 지점 초음파 지문 인식 기능을 갖추고 있으며 IP68/69 방진 및 방수를 지원합니다. LYT6003X 잠망경이 장착되어 있으며 망원 매크로를 지원하지 않습니다. BOE X2 기판을 사용하여 1.5K 해상도 동일 심도 4곡선 스크린을 장착했습니다. Snapdragon 8Gen4 프로세서를 사용하며 최대 16GB의 메모리와 1TB의 스토리지를 지원합니다. Realme GT7Pro는 이르면 올해 4분기에 출시될 것으로 예상됩니다.
