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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Laut einer Nachricht vom 17. August hat die Quelle @ibinguniverse heute auf Weibo gepostet, dass die genaue Größe des Apple iPhone 16 Pro Max 6,88 Zoll und die genaue Größe des Galaxy S25 Ultra 6,86 Zoll beträgt. Beide können als 6,9 Zoll angesehen werden . Quellen zufolge hat das Samsung Galaxy S25 Ultra ein schmaleres Gehäuse und einen breiteren Bildschirm als das S24 Ultra, mit einem horizontalen Bildschirm-zu-Körper-Verhältnis von 94,1 %, während das horizontale Bildschirm-zu-Körper-Verhältnis des S24 Ultra 91,5 % beträgt. Fenye überprüfte das entsprechende Weibo der Quelle. Er kommentierte auch die neu belichteten Fotos des iPhone 16 Pro Max und glaubte, dass es falsch sei, sich an einer Mikrokurve zu orientieren. Das Telefon sei tatsächlich ein gerader Bildschirm + 2,5D-Glas.

Auch wenn Apple in den letzten Jahren wegen mangelnder Innovation kritisiert wurde, ist Apple nicht immer stehengeblieben. Zumindest was das Hardware-Design angeht, können die Ingenieure dank der hohen Stückpreise der Apple-Produkte problemlos einige neue Technologien ausprobieren, ohne sich allzu viele Gedanken über die Kosten machen zu müssen. Beispielsweise war das iPad Pro als Apples beliebtestes Testfeld für „Display-Technologie“ führend in der Display-Technologie für tragbare Smart-Geräte, von miniLED im Jahr 2021 bis hin zu Tandem-OLED im Jahr 2024. Obwohl das iPad Pro nicht das erste tragbare Smart-Gerät ist, das mit einem miniLED-Bildschirm ausgestattet ist (MSI hat ein Jahr früher als Apple einen miniLED-Laptop auf den Markt gebracht), werden Sie beim Vergleich der Parameter der beiden schnell feststellen, dass sie nicht gleich sind

Berichten von Smartprix zufolge entwickelt Xiaomi ein tastenloses Mobiltelefon mit dem Codenamen „Suzaku“. Dieser Nachricht zufolge wird dieses Mobiltelefon mit dem Codenamen Zhuque mit einem integrierten Konzept entwickelt, eine Kamera unter dem Bildschirm verwenden und mit einem Qualcomm Snapdragon 8gen4-Prozessor ausgestattet sein. Wenn sich der Plan nicht ändert, wird es wahrscheinlich im Jahr 2025 auf den Markt kommen . Als ich diese Nachricht sah, dachte ich, ich wäre im Jahr 2019 – damals brachte Xiaomi das Mi MIX Alpha-Konzepttelefon heraus und das tastenlose Surround-Screen-Design war ziemlich erstaunlich. Dies ist das erste Mal, dass ich den Charme eines tastenlosen Mobiltelefons sehe. Wenn Sie ein Stück „magisches Glas“ wollen, müssen Sie zuerst die Tasten töten. In „Die Biografie von Steve Jobs“ äußerte Jobs einmal seine Hoffnung, dass das Mobiltelefon wie ein Stück „magisches Glas“ sein könnte.

Eine der wichtigsten Änderungen, die in MySQL 8.4 (der neuesten LTS-Version von 2024) eingeführt wurden, besteht darin, dass das Plugin „MySQL Native Password“ nicht mehr standardmäßig aktiviert ist. Darüber hinaus entfernt MySQL 9.0 dieses Plugin vollständig. Diese Änderung betrifft PHP und andere Apps

Laut Nachrichten vom 19. August hält Nubia seit der Veröffentlichung des Z50 Ultra am echten Vollbilddesign fest und erforscht kontinuierlich den Bereich der proaktiven Fotografie auf Bildschirmen mit hohen Pixeln. Heute hat der digitale Blogger Wisdom Pikachu die Nachricht verbreitet, dass das Nubia Z70 Ultra, das in der zweiten Hälfte dieses Jahres auf den Markt kommen wird, mit 1,5K-Unterbildschirmkameratechnologie auf den Markt kommen wird, was die UDC-Lösung mit der höchsten Auflösung der Branche darstellt weit. Es wird berichtet, dass die proaktive Under-Screen-Lösung von ZTE auf die sechste Generation fortgeschritten ist. Die neueste proaktive Lösung unter dem Bildschirm ist in den Serien Nubia Z60 Ultra und Red Magic 9S Pro verfügbar. Die Bildschirmauflösung beträgt 2480 x 1116, was einer Auflösung zwischen 1080P und 1,5K entspricht. Diesmal wird Nubia die Grenzen bestehender Auflösungen durchbrechen und einen neuen Maßstab in der Branche setzen.

Seit der Veröffentlichung von „Black Myth: Wukong“ ist die Popularität nicht gesunken und es gibt täglich viele heiße Suchanfragen auf allen wichtigen Plattformen. Leider ist die Spannung bei mobilen Spielern nur auf PC-, Konsolen- und Handheld-Spieler beschränkt. Wie kann das funktionieren? Wir, die Mobiltelefone herstellen, können nicht verlieren. Zunächst einmal schließen wir die Idee aus, Black Monkey auf Mobiltelefonen auszuführen. Da es sich um ein groß angelegtes 3A-Spiel mit einem Volumen von mehr als 100 GB handelt, sind die Leistungsanforderungen sehr hoch und eine große Anzahl an Rendering-Technologien vorhanden Wenn es für PC-Hardware entwickelt wurde und auf Mobiltelefon-Hardware läuft, können Sie das Spiel möglicherweise nicht betreten, ganz zu schweigen davon, wie gut die Bildrate und das Bild sind. In diesem Fall können wir uns nur auf die beliebten Cloud-Spiele konzentrieren. Die beiden Giganten Tencent und NetEase haben entsprechende Aktivitäten für „Black Myth“ gestartet. Tencent setzt auf den Vorteil, dass seine WeGame-Plattform auch eine Verkaufsplattform ist

Laut Nachrichten vom 24. August veröffentlichte das Technologiemedium 91Mobile gestern (23. August) einen Blogbeitrag, in dem es die Nachricht verbreitete, dass Xiaomi am 31. August das Redmi14C-Smartphone herausbringen wird, das in drei Farben erhältlich sein wird: Grün (sollte schlichtes Leder sein), schwarz und blau. Das Xiaomi Redmi14C ist mit einem kreisförmigen Oreo-Kameramodul auf der Rückseite ausgestattet, das mit 2 Kamerasensoren und 1 LED-Blitz sowie einer 50-Megapixel-Hauptkamera ausgestattet ist. Die Lautstärke- und Einschalttasten befinden sich auf der rechten Seite. Beigefügt ist das Werbebild des Xiaomi Redmi14C wie folgt. Sie können sehen, dass die Vorderseite mit einer wassertropfenförmigen Rille ausgestattet ist. Da das Produkt am mittleren bis unteren Ende positioniert ist, ist der Rahmen am Kinn breiter. Was die technischen Daten betrifft, ist das Mobiltelefon Xiaomi Redmi14C mit einem 6,88-Zoll-Bildschirm mit FullHD+-Auflösung und einer Bildwiederholfrequenz von 90H ausgestattet

Laut Nachrichten vom 23. August werden laut Digital Chat Station des Digitalbloggers die Produktfunktionen des Realme GT7 Pro umfassend gestärkt und seine Konfiguration umfasst Ultraschall-Fingerabdrücke, Periskop-Teleobjektiv, ultragroße Akkus und 100-Watt-Schnellladung . 1. Realme GT7Pro verfügt über einen integrierten großen 6000-mAh-Akku und unterstützt 100-W-Schnellladung. Die technische Maschine unterstützt kein kabelloses Laden und das Massenproduktionsmodell ist unbekannt. Ausgestattet mit Einzelpunkt-Ultraschall-Fingerabdruckerkennung und unterstützt IP68/69 staub- und wasserdicht. Ausgestattet mit dem Periskop LYT6003X unterstützt es kein Tele-Makro. Ausgestattet mit einem viergekrümmten Bildschirm mit gleicher Tiefe und 1,5K-Auflösung und BOE-X2-Substrat. Es verwendet den Snapdragon 8Gen4-Prozessor und unterstützt bis zu 16 GB Arbeitsspeicher und 1 TB Speicher. Das Realme GT7Pro wird voraussichtlich bereits im vierten Quartal dieses Jahres auf den Markt kommen.
