Tổng số người dùng tích lũy hàng ngày là một chỉ số KPI rất hữu ích để phân tích sự tăng trưởng của người dùng cho mọi doanh nghiệp. Tuy nhiên, vì không có chức năng tích hợp nào để tính toán tổng số người dùng đang chạy trong MySQL, nên đây là truy vấn SQL để lấy tổng số người dùng tích lũy mỗi ngày, còn được gọi là tổng số người dùng đang chạy theo ngày hoặc đang chạy.
Cách đạt được Tổng số người dùng tích lũy mỗi ngày trong MySQL
Dưới đây là các bước để có được tổng số người dùng tích lũy mỗi ngày trong MySQL. Giả sử bạn có bảng sau người dùng (date_joined, user_id) chứa tất cả id người dùng với ngày đăng ký / đăng ký / gia nhập doanh nghiệp của bạn.
mysql> create table users(date_joined date,user_id int); mysql> insert into users(date_joined,user_id) values('2020-04-28',213), ('2020-04-28',214), ('2020-04-30',215), ('2020-04-28',216), ('2020-04-28',217), ('2020-04-30',218), ('2020-04-28',219), ('2020-04-28',220), ('2020-04-30',221), ('2020-05-01',222), ('2020-05-01',222), ('2020-05-01',223), ('2020-05-04',224), ('2020-05-04',225), ('2020-05-04',226), ('2020-05-04',226), ('2020-05-04',227), ('2020-05-04',228), ('2020-05-05',229), ('2020-05-05',230), ('2020-05-05',231), ('2020-05-05',232), ('2020-05-06',233), ('2020-05-06', 234); mysql> select * from users; +-------------+---------+ | date_joined | user_id | +-------------+---------+ | 2020-04-28 | 213 | | 2020-04-28 | 214 | | 2020-04-30 | 215 | | 2020-04-28 | 216 | | 2020-04-28 | 217 | | 2020-04-30 | 218 | | 2020-04-28 | 219 | | 2020-04-28 | 220 | | 2020-04-30 | 221 | | 2020-05-01 | 222 | | 2020-05-01 | 222 | | 2020-05-01 | 223 | | 2020-05-04 | 224 | | 2020-05-04 | 225 | | 2020-05-04 | 226 | | 2020-05-04 | 226 | | 2020-05-04 | 227 | | 2020-05-04 | 228 | | 2020-05-05 | 229 | | 2020-05-05 | 230 | | 2020-05-05 | 231 | | 2020-05-05 | 232 | | 2020-05-06 | 233 | | 2020-05-06 | 234 | +-------------+---------+
Đầu tiên, chúng tôi xem xét một truy vấn SQL để tính số lượng đăng ký hàng ngày
mysql> select date(date_joined),count(user_id) from users group by date(date_joined); +-------------------+----------------+ | date(date_joined) | count(user_id) | +-------------------+----------------+ | 2020-04-28 | 6 | | 2020-04-30 | 3 | | 2020-05-01 | 3 | | 2020-05-04 | 6 | | 2020-05-05 | 4 | | 2020-05-06 | 2 | +-------------------+----------------+
Tiếp theo, đây là truy vấn SQL để có được tổng số người dùng tích lũy mỗi ngày trong MySQL. Chúng tôi sẽ sử dụng SQL ở trên làm truy vấn con để chạy toàn bộ SQL.
mysql> set @csum := 0; mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users from ( select date(date_joined) as date_joined,count(user_id) as new_users from users group by date(date_joined) ) as temp order by date_joined; +-------------+-----------+-------------+ | date_joined | new_users | total_users | +-------------+-----------+-------------+ | 2020-04-28 | 6 | 6 | | 2020-04-30 | 3 | 9 | | 2020-05-01 | 3 | 12 | | 2020-05-04 | 6 | 18 | | 2020-05-05 | 4 | 22 | | 2020-05-06 | 2 | 24 | +-------------+-----------+-------------+
Trong truy vấn trên, chúng tôi đặt một biến tạm thời csum thành 0. Sau đó, đối với mỗi hàng, chúng tôi sử dụng nó để tính toán và lưu trữ tổng tích lũy của người dùng.
Sau khi bạn có được tổng số người dùng tích lũy mỗi ngày trong MySQL, bạn có thể vẽ biểu đồ đường hoặc bảng điều khiển bằng cách sử dụng công cụ báo cáo như Ubiq và chia sẻ nó với nhóm của bạn. Đây là biểu đồ đường được tạo bằng Ubiq.
Nếu bạn muốn nhận tổng số chạy có điều kiện trong MySQL, thì bạn có thể thêm mệnh đề WHERE trong truy vấn con, tùy theo yêu cầu của bạn.
mysql> set @csum := 0; mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users from ( select date(date_joined) as date_joined,count(user_id) as new_users from users WHERE <condition> group by date(date_joined) ) as temp order by date_joined;
Bạn có thể dễ dàng sửa đổi truy vấn SQL ở trên, để tính tổng số người dùng tích lũy theo tuần, tháng, quý và năm. Chúng ta hãy xem xét chúng từng cái một. Chúng tôi sẽ sử dụng hàm DATE_FORMAT để dễ dàng lấy các cột tuần, tháng từ ngày.
Phần thưởng Đọc:Cách tính Doanh thu trong MySQL
Cách đạt được Tổng số người dùng tích lũy mỗi tuần trong MySQL
Đây là truy vấn SQL để có được tổng số người dùng tích lũy theo tuần trong MySQL. Trong truy vấn SQL để có được tổng số người dùng tích lũy mỗi ngày, bạn chỉ cần thay đổi hàm tổng hợp trong truy vấn con, từ date (date_joined) thành date_format (date_format, ’% U’) .
mysql> set @csum := 0; mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users from ( select date_format(date_joined,'%U') as date_joined, count(user_id) as new_users from users group by date_format(date_joined,'%U') ) as temp order by date_joined;
Trong truy vấn trên, bạn cũng có thể sử dụng hàm WEEK thay vì DATE_FORMAT, nghĩa là sử dụng WEEK (date_joined) thay vì DATE_FORMAT (date_joined, ’% U’)
Phần thưởng đã đọc:Cách nhận bản ghi của tháng hiện tại trong MySQL
Cách đạt được Tổng số người dùng tích lũy mỗi tháng trong MySQL
Đây là truy vấn SQL để có được tổng số người dùng tích lũy theo tháng trong MySQL. Trong truy vấn SQL để có được tổng số người dùng tích lũy mỗi ngày, bạn chỉ cần thay đổi hàm tổng hợp trong truy vấn con, từ date (date_joined) thành date_format (date_format, ’% b’) .
mysql> set @csum := 0; mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users from ( select date_format(date_joined,'%b') as date_joined, count(user_id) as new_users from users group by date_format(date_joined,'%b') ) as temp order by date_joined;
Phần thưởng đã đọc:Cách nhận dữ liệu bán hàng 3 tháng qua trong MySQL
Cách đạt được Tổng số người dùng tích lũy mỗi quý trong MySQL
Đây là truy vấn SQL để có được tổng số người dùng tích lũy theo quý trong MySQL. Trong truy vấn SQL để có được tổng số người dùng tích lũy mỗi ngày, bạn chỉ cần thay đổi hàm tổng hợp trong truy vấn con, từ date (date_joined) sang quý (date_format) .
mysql> set @csum := 0; mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users from ( select quarter(date_joined) as date_joined, count(user_id) as new_users from users group by quarter(date_joined) ) as temp order by date_joined;
Cách đạt được Tổng số người dùng tích lũy mỗi năm trong MySQL
Đây là truy vấn SQL để có được tổng số người dùng tích lũy theo năm trong MySQL. Trong truy vấn SQL để có được tổng số người dùng tích lũy mỗi ngày, bạn chỉ cần thay đổi hàm tổng hợp trong truy vấn con, từ date (date_joined) đến năm (date_format) .
mysql> set @csum := 0; mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users from ( select year(date_joined) as date_joined, count(user_id) as new_users from users group by year(date_joined) ) as temp order by date_joined;
Đó là nó! Bạn có thể thử các truy vấn SQL ở trên để có được tổng số người dùng tích lũy mỗi ngày trong MySQL. Nếu bạn muốn tạo biểu đồ, trang tổng quan và báo cáo từ cơ sở dữ liệu MySQL, bạn có thể thử Ubiq. Chúng tôi cung cấp bản dùng thử miễn phí 14 ngày.