Rumah pangkalan data tutorial mysql mysql函数实例-统计日存留率_MySQL

mysql函数实例-统计日存留率_MySQL

Jun 01, 2016 pm 01:32 PM
mysql telefon bimbit Jadual pangkalan data perangkaan perisian

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  
Salin selepas log masuk

 


bitsCN.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apple dan Huawei kedua-duanya mahu membuat telefon tanpa butang, tetapi Xiaomi membuatnya terlebih dahulu? Apple dan Huawei kedua-duanya mahu membuat telefon tanpa butang, tetapi Xiaomi membuatnya terlebih dahulu? Aug 29, 2024 pm 03:33 PM

Menurut laporan dari Smartprix, Xiaomi sedang membangunkan telefon bimbit tanpa butang yang diberi nama kod "Suzaku". Menurut berita ini, telefon bimbit yang diberi nama kod Zhuque ini akan direka dengan konsep bersepadu, menggunakan kamera bawah skrin, dan dilengkapi dengan pemproses Qualcomm Snapdragon 8gen4 Jika rancangan itu tidak berubah, kita mungkin akan melihat ketibaannya pada tahun 2025 . Apabila saya melihat berita ini, saya fikir saya telah kembali pada tahun 2019 - pada masa itu, Xiaomi mengeluarkan telefon konsep Mi MIX Alpha, dan reka bentuk tanpa butang skrin sekeliling agak menakjubkan. Ini adalah kali pertama saya melihat daya tarikan telefon bimbit tanpa butang. Jika anda mahukan sekeping "kaca ajaib", anda mesti mematikan butangnya terlebih dahulu Dalam "The Biography of Steve Jobs", Jobs pernah menyatakan bahawa dia berharap telefon bimbit itu boleh menjadi seperti kepingan "kaca ajaib".

Kamera bawah skrin 1.5K pertama! Nubia Z70 Ultra ada di sini: telefon skrin penuh sebenar Snapdragon 8 Gen4 pertama di dunia Kamera bawah skrin 1.5K pertama! Nubia Z70 Ultra ada di sini: telefon skrin penuh sebenar Snapdragon 8 Gen4 pertama di dunia Aug 19, 2024 pm 03:47 PM

Menurut berita pada 19 Ogos, Nubia telah mematuhi reka bentuk skrin penuh sebenar sejak keluaran Z50 Ultra, dan telah meneroka secara berterusan bidang fotografi proaktif di bawah skrin piksel tinggi. Hari ini, blogger digital Wisdom Pikachu mengumumkan bahawa Nubia Z70 Ultra, yang akan dikeluarkan pada separuh kedua tahun ini, akan debut dengan teknologi kamera bawah skrin 1.5K, yang merupakan penyelesaian UDC resolusi tertinggi dalam industri jadi jauh. Dilaporkan bahawa penyelesaian proaktif bawah skrin ZTE telah maju ke generasi keenam. Penyelesaian proaktif bawah skrin terkini tersedia dalam siri Nubia Z60 Ultra dan Red Magic 9S Pro. Resolusi skrin ialah 2480x1116, iaitu antara resolusi 1080P dan 1.5K. Kali ini Nubia akan menerobos batasan resolusi sedia ada dan menetapkan penanda aras baharu dalam industri.

Bagaimana untuk membetulkan ralat mysql_native_password tidak dimuatkan pada MySQL 8.4 Bagaimana untuk membetulkan ralat mysql_native_password tidak dimuatkan pada MySQL 8.4 Dec 09, 2024 am 11:42 AM

Salah satu perubahan utama yang diperkenalkan dalam MySQL 8.4 (keluaran LTS terkini pada 2024) ialah pemalam "Kata Laluan Asli MySQL" tidak lagi didayakan secara lalai. Selanjutnya, MySQL 9.0 mengalih keluar pemalam ini sepenuhnya. Perubahan ini mempengaruhi PHP dan apl lain

Gunakan telefon bimbit anda untuk menaip 'Black Myth: Wukong '? Saya boleh memainkannya dalam ujian sebenar, tetapi saya tidak mengesyorkannya. Gunakan telefon bimbit anda untuk menaip 'Black Myth: Wukong '? Saya boleh memainkannya dalam ujian sebenar, tetapi saya tidak mengesyorkannya. Aug 23, 2024 pm 09:44 PM

Sejak pelancaran "Mitos Hitam: Wukong", popularitinya tidak jatuh, dan terdapat banyak carian hangat setiap hari di semua platform utama. Malangnya, untuk pemain mudah alih, keseronokan hanya dimiliki oleh pemain PC, pemain konsol dan pemain pegang tangan. Bagaimana itu boleh berfungsi? Kami yang membuat telefon bimbit tidak boleh kalah. Pertama sekali, kami menolak idea menjalankan Black Monkey pada telefon bimbit Sebagai permainan 3A berskala besar dengan volum lebih daripada 100 GB, keperluan prestasi adalah sangat tinggi, dan sejumlah besar teknologi rendering. dibangunkan untuk perkakasan PC Jika ia diterjemahkan dan dijalankan pada perkakasan telefon mudah alih, apatah lagi betapa baiknya kadar bingkai dan gambar, anda mungkin tidak dapat memasuki permainan. Dalam kes ini, kita hanya boleh melihat permainan awan yang popular. Dua gergasi Tencent dan NetEase telah melancarkan aktiviti yang sepadan untuk "Mitos Hitam". Bergantung pada kelebihan bahawa platform WeGamenya juga merupakan platform jualan, Tencent

Realme GT7 Pro penuh dengan produk: cap jari ultrasonik, bateri super besar, dan pengecasan pantas 100W semuanya disenaraikan Realme GT7 Pro penuh dengan produk: cap jari ultrasonik, bateri super besar, dan pengecasan pantas 100W semuanya disenaraikan Aug 23, 2024 pm 03:31 PM

Menurut berita pada 23 Ogos, menurut blogger digital Digital Chat Station, keupayaan produk Realme GT7 Pro akan diperkukuh secara menyeluruh, dan konfigurasinya akan meliputi cap jari ultrasonik, telefoto periskop, bateri ultra-besar, dan pengecasan pantas 100 watt. . 1. Realme GT7Pro mempunyai bateri 6000mAh besar terbina dalam dan menyokong pengecasan pantas 100W. Mesin kejuruteraan tidak menyokong pengecasan tanpa wayar, dan model pengeluaran besar-besaran tidak diketahui. Dilengkapi dengan pengecaman cap jari ultrasonik satu titik dan menyokong IP68/69 kalis habuk dan kalis air. Dilengkapi dengan periskop LYT6003X, ia tidak menyokong makro telefoto. Dilengkapi dengan resolusi 1.5K skrin empat lengkung kedalaman yang sama, menggunakan substrat BOE X2. Ia menggunakan pemproses Snapdragon 8Gen4 dan menyokong sehingga 16GB memori dan 1TB storan. Realme GT7Pro dijangka akan dilancarkan sejurus suku keempat tahun ini.

Telefon bimbit Xiaomi Redmi 14C didedahkan akan dikeluarkan pada 31 Ogos: Skrin 6.88 inci 90Hz, bateri 5160mAh, kamera utama 50MP Telefon bimbit Xiaomi Redmi 14C didedahkan akan dikeluarkan pada 31 Ogos: Skrin 6.88 inci 90Hz, bateri 5160mAh, kamera utama 50MP Aug 24, 2024 am 11:07 AM

Menurut berita pada 24 Ogos, media teknologi 91Mobile menerbitkan catatan blog semalam (23 Ogos), mengumumkan bahawa Xiaomi akan mengeluarkan telefon pintar Redmi14C pada 31 Ogos, yang akan tersedia dalam tiga warna: hijau (sepatutnya kulit biasa), hitam dan biru. Xiaomi Redmi14C dilengkapi dengan modul kamera bulat Oreo di bahagian belakang, dilengkapi dengan 2 sensor kamera dan 1 denyar LED, kamera utama 50 megapiksel, dan butang kelantangan dan kuasa berada di sebelah kanan. Dilampirkan gambar promosi Xiaomi Redmi14C seperti berikut Anda boleh lihat bahagian hadapannya dilengkapi dengan alur berbentuk titisan air Memandangkan produk diletakkan di hujung pertengahan ke bawah, bingkai di bahagian dagu adalah lebih lebar. Dari segi spesifikasi, telefon bimbit Xiaomi Redmi14C dilengkapi skrin beresolusi FullHD+ 6.88 inci dengan kadar penyegaran 90H

Huawei Smart Pilih Telefon Baharu! WIKO Hi Enjoy 70 bakal dikeluarkan: skrin titisan air yang jarang ditemui pada tahun 2024 Huawei Smart Pilih Telefon Baharu! WIKO Hi Enjoy 70 bakal dikeluarkan: skrin titisan air yang jarang ditemui pada tahun 2024 Aug 24, 2024 pm 12:35 PM

Menurut berita pada 24 Ogos, peniaga Huawei "Uncle Kanshan" mengumumkan bahawa telefon mudah alih siri Smart Selection baharu Huawei WIKOHi Enjoy 70/70m akan dikeluarkan tidak lama lagi. Menurut laporan, rupa telefon baharu itu pada asasnya sama seperti Huawei Enjoy 70, menggunakan reka bentuk yang serupa dengan siri P60, tetapi bahagian hadapannya dilengkapi dengan skrin titisan air yang sangat jarang berlaku pada tahun 2024. WIKOHi Nikmati konfigurasi teras 70: dilengkapi dengan pemproses MT6833 (MediaTek Dimensity 700) Kedudukan: model peringkat permulaan Skrin: Skrin 6.75 inci dijangka skrin LCD Resolusi: 720x1600 Kesan perlindungan mata lebih baik daripada skrin OLED Berat 202 gram, saiz badan 168.3x77.7x8.98mm, kapasiti besar 5000mAh terbina dalam

Portal Log Masuk Versi Rasmi Binance Binance Portal Log Masuk Versi Rasmi Binance Binance Feb 21, 2025 pm 05:42 PM

Untuk mengakses versi Login Laman Web Binance yang terkini, ikuti langkah mudah ini. Pergi ke laman web rasmi dan klik butang "Login" di sudut kanan atas. Pilih kaedah log masuk anda yang sedia ada. Masukkan nombor mudah alih berdaftar atau e -mel dan kata laluan anda dan pengesahan lengkap (seperti kod pengesahan mudah alih atau Google Authenticator). Selepas pengesahan yang berjaya, anda boleh mengakses Portal Log masuk laman web rasmi Binance.

See all articles