Phân tích nhóm khách hàng đủ điều kiện ưu đãi phí bằng bảng tạm (TEMP TABLE) theo hai bước:
Bước 1 — bảng tạm eligible (tên tùy ý): khách hàng status = 'ACTIVE' có tổng số dư các tài khoản ACTIVE từ 100.000.000 trở lên. Lưu customer_id, total_assets.
Bước 2 — bảng tạm activity: với các khách hàng ở bước 1, tính số giao dịch trade_count và tổng giá trị giao dịch trade_value (Σ Trades.quantity × Trades.price) — nối Trades → Orders → Accounts. Khách hàng không có giao dịch vẫn phải có mặt với 0.
Kết quả cuối (một câu SELECT cuối script): customer_id, total_assets, trade_count, trade_value của mọi khách hàng ở bước 1, sắp xếp total_assets giảm dần, đồng hạng theo customer_id.
Cú pháp tạo bảng tạm khác nhau giữa SQL Server (#tên) và MySQL (CREATE TEMPORARY TABLE). Chú ý: MySQL không cho một bảng tạm xuất hiện hai lần trong cùng một câu truy vấn.
Customers, Accounts, Orders, Trades.
customer_id, total_assets, trade_count, trade_value (TAB), sắp xếp total_assets giảm dần, customer_id tăng dần.
Ví dụ:
Đầu vào:
Đầu ra:
40 9500000000.00 0 0.00
2 8640000000.00 4 51800000.00
34 4690000000.00 0 0.00
38 4661000000.00 6 151950000.00
32 4345000000.00 5 204650000.00
31 1735000000.00 3 25800000.00
6 1600000000.00 3 150250000.00
30 1402000000.00 4 127450000.00
24 1327000000.00 3 75250000.00
39 1320000000.00 3 100250000.00
7 1290000000.00 0 0.00
22 1280000000.00 7 420525000.00
33 827000000.00 3 31750000.00
35 812000000.00 4 256600000.00
8 760000000.00 2 19350000.00
16 426000000.00 6 703300000.00
18 425000000.00 1 9750000.00
21 425000000.00 0 0.00
20 410000000.00 2 25350000.00
13 350000000.00 0 0.00
14 230000000.00 1 5050000.00
3 168000000.00 0 0.00
25 162000000.00 4 50800000.00
37 130000000.00 3 195500000.00
11 120000000.00 1 45000000.00
Giải thích:
Đang tải editor...