Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [SQL 5.3] Phân tích nhiều bước bằng bảng tạm

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 5: CTE, TEMP TABLE và Subquery (truy vấn con) — khóa SQL

    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.

    • Định dạng đầu vào:

      Customers, Accounts, Orders, Trades.

    • Định dạng đầu ra:

      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:

    Bảng tạm eligible chứa các khách hàng ACTIVE có tổng số dư ACTIVE >= 100 triệu; bảng activity bổ sung số giao dịch.

    Chủ đề

    📊 SQLSQLSQL: Buổi 5 – Subquery, CTE & TEMP TABLETất cả môn học

    Đang tải editor...