توفر هذه الاستعلامات تفصيلاً لعدد حسابات المستخدمين الجديدة التي تم إنشاؤها خلال الإطار الزمني، باستثناء الحسابات المرحلية وغير المفعلة. يتم تقسيم الإجماليات حسب عدد عمليات التسجيل كل أسبوع/شهر/سنة، وإجمالي تشغيلي للفترة الزمنية المحددة، وإجمالي عدد حتى الآن والذي يشمل جميع عمليات التسجيل السابقة.
ملاحظة: إذا تم حذف مستخدم، فلن تظهر سجلاته في قاعدة البيانات وبالتالي لن يتم تضمينها في نتائج الاستعلام. يمكن أن يؤدي هذا إلى اختلافات عند مقارنة التشغيلات الأخيرة بالسابقة.
عمليات التسجيل الأسبوعية
-- [params]
-- date :start_date
-- date :end_date
WITH weekly_signups AS (
SELECT
to_char(date_trunc('week', created_at)::date,'YYYY-MM-DD') AS week,
COUNT(*) AS signups
FROM users
WHERE created_at::date BETWEEN :start_date::date AND :end_date::date
AND staged = false
AND active = true
GROUP BY week
),
all_to_date AS (
SELECT COUNT(*) AS previous
FROM users
WHERE created_at::date < :start_date
AND staged = false
AND active = true
)
SELECT
week AS "بداية الأسبوع",
signups AS "عمليات التسجيل الأسبوعية",
SUM(signups::int) OVER (ORDER BY week) AS "الإجمالي التشغيلي",
(SUM(signups::int) OVER (ORDER BY week) + previous::int) AS "إجمالي المجموع"
FROM weekly_signups, all_to_date
ORDER BY week ASC
| بداية الأسبوع |
عمليات التسجيل الأسبوعية |
الإجمالي التشغيلي |
إجمالي المجموع |
| 2023-07-31 |
98 |
98 |
45418 |
| 2023-08-07 |
141 |
239 |
45559 |
| 2023-08-14 |
129 |
368 |
45688 |
| 2023-08-21 |
126 |
494 |
45814 |
| 2023-08-28 |
138 |
632 |
45952 |
| 2023-09-04 |
53 |
685 |
46005 |
عمليات التسجيل الشهرية
-- [params]
-- date :start_date
-- date :end_date
WITH monthly_signups AS (
SELECT
date_trunc('month', created_at)::date AS month,
to_char(date_trunc('month', created_at)::date,'Month YYYY') AS month_display,
COUNT(*) AS signups
FROM users
WHERE created_at::date BETWEEN :start_date::date AND :end_date::date
AND staged = false
AND active = true
GROUP BY month, month_display
),
all_to_date AS (
SELECT COUNT(*) AS previous
FROM users
WHERE created_at::date < :start_date
AND staged = false
AND active = true
)
SELECT
month_display AS "الشهر",
signups AS "عمليات التسجيل الشهرية",
SUM(signups::int) OVER (ORDER BY month) AS "الإجمالي التشغيلي",
(SUM(signups::int) OVER (ORDER BY month) + previous::int) AS "إجمالي المجموع"
FROM monthly_signups, all_to_date
ORDER BY month
| الشهر |
عمليات التسجيل الشهرية |
الإجمالي التشغيلي |
إجمالي المجموع |
| June 2023 |
596 |
596 |
44790 |
| July 2023 |
517 |
1113 |
45307 |
| August 2023 |
583 |
1696 |
45890 |
| September 2023 |
102 |
1798 |
46005 |
عمليات التسجيل السنوية
-- [params]
-- date :start_date
-- date :end_date
WITH yearly_signups AS (
SELECT
to_char(date_trunc('year', created_at)::date,'YYYY') AS year,
COUNT(*) AS signups
FROM users
WHERE created_at::date BETWEEN :start_date::date AND :end_date::date
AND staged = false
AND active = true
GROUP BY year
),
all_to_date AS (
SELECT COUNT(*) AS previous
FROM users
WHERE created_at::date < :start_date
AND staged = false
AND active = true
)
SELECT
year AS "السنة",
signups AS "عمليات التسجيل السنوية",
SUM(signups::int) OVER (ORDER BY year) AS "الإجمالي التشغيلي",
(SUM(signups::int) OVER (ORDER BY year) + previous::int) AS "إجمالي المجموع"
FROM yearly_signups, all_to_date
ORDER BY year ASC
| السنة |
عمليات التسجيل السنوية |
الإجمالي التشغيلي |
إجمالي المجموع |
| 2019 |
3590 |
3590 |
23135 |
| 2020 |
4258 |
7848 |
27393 |
| 2021 |
5908 |
13756 |
33301 |
| 2022 |
7889 |
21645 |
41190 |
| 2023 |
4815 |
26460 |
46005 |