500 SQL Challenges

SQLDA [C499] Phân Tích Khách Hàng Không Giao Dịch Trong N Tháng Trước Tại Mốc Mỗi Tháng [Task Thực Tế]

500 SQL Challenges bao gồm nhiều task được mô phỏng lại sát với công việc thực tế thuộc nhiều lĩnh vực HR, Sales, Marketing, Logistic, Ecommerce v.v.

Khi đăng ký khóa học SQL Thực Chiến Phân Tích Dữ Liệu, bạn sẽ được cấp tài khoản riêng để đăng nhập vào hệ thống. Đây sẽ là một cuốn “Chân Kinh” hỗ trợ đắc lực bạn trong công việc.

Để đăng ký khóa học SQL Data Analyst, bạn có thể liên hệ với mình Tại Đây.


Hóa đơn id 1 được mua bởi khách hàng id 100, mua vào ngày 2024-02-05 v.v

order_idcust_idorder_date
11002024-02-05
21012024-03-05
31022024-04-05
41022024-05-05
51022024-06-05
61012024-06-05
71032024-06-05

Table 02: c499_t2

Khách hàng id 100 đăng ký tài khoản vào ngày 2024-01-01 (đăng ký để mua hàng)

cust_idregister_date
1002024-01-01
1012024-01-01
1022024-04-01
1032024-06-01

Expected Output

monthsyearsno_buyers
420240
520241
620242
  • Tại tháng 4/2024 -> 2 tháng trước là tháng 2, 3.
    • Bảng c499_t1, tháng 2, 3 có cust_id 100 & 101 mua.
    • Bảng c499_t2, có 4 cust_id: 100, 101, 102, 103.
    • Có 2 khách hàng 102, 103 là chưa mua trong tháng 2, 3. Nhưng ngày đăng ký trong bảng c499_t2 của cust_id 102 là 2024-04-01 và của cust_id 103 là 2024-06-01. Như vậy, không thể mua trước đó được.
    • Kết quả no_buyers tại tháng 4 sẽ là 0.
  • Tại tháng 5/2024 -> 2 tháng trước là tháng 3, 4.
    • Bảng c499_t1, tháng 3, 4 có cust_id 101 & 102 mua.
    • Bảng c499_t2, có 4 cust_id: 100, 101, 102, 103.
    • Có 2 khách hàng 100, 103 là chưa mua trong tháng 3, 4. Nhưng ngày đăng ký trong bảng c499_t2 của cust_id 103 là 2024-06-01. Như vậy, không thể mua trước đó được. Vậy chỉ còn có cust_id 100 là chưa mua.
    • Kết quả no_buyers tại tháng 5 sẽ là 1.
  • Tại tháng 6/2024 -> 2 tháng trước là tháng 4, 5.
    • Bảng c499_t1, tháng 4, 5 có cust_id 102 mua.
    • Bảng c499_t2, có 4 cust_id: 100, 101, 102, 103.
    • Có 3 khách hàng 100, 101, 103 là chưa mua trong tháng 4, 5. Nhưng ngày đăng ký trong bảng c499_t2 của cust_id 103 là 2024-06-01. Như vậy, không thể mua trước đó được. Vậy chỉ còn có 2 cust_id 100, 101 là chưa mua.
    • Kết quả no_buyers tại tháng 6 sẽ là 2.

Solution

LOGIN BẰNG TÀI KHOẢN HỌC VIÊN