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 3.1] Xếp hạng khối lượng: ROW_NUMBER, RANK, DENSE_RANK

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 3: Window Functions — khóa SQL

    Trong phiên 2026-09-25, hãy xếp hạng 12 mã chứng khoán theo khối lượng khớp (volume) giảm dần bằng cả ba hàm xếp hạng để so sánh cách xử lý đồng hạng:

    • rn — ROW_NUMBER(): số thứ tự duy nhất; khi đồng khối lượng thì mã có symbol nhỏ hơn (theo thứ tự bảng chữ cái) được số nhỏ hơn.
    • rnk — RANK(): đồng hạng cùng thứ hạng, thứ hạng kế tiếp bị nhảy cóc.
    • drnk — DENSE_RANK(): đồng hạng cùng thứ hạng, thứ hạng kế tiếp liền mạch.

    Sắp xếp kết quả theo rn tăng dần.

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

      Bảng MarketPrices(symbol, trade_date, volume, ...).

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

      symbol, volume, rn, rnk, drnk (ngăn cách bằng TAB); sắp xếp theo rn tăng dần.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    NVB	8400000	1	1	1
    CEO	7800000	2	2	2
    VCB	7500000	3	3	3
    IDC	7000000	4	4	4
    PVS	7000000	5	4	4
    VNM	5400000	6	6	5
    MBS	5000000	7	7	6
    SHS	5000000	8	7	6
    HPG	3800000	9	9	7
    FPT	3100000	10	10	8
    VCS	1300000	11	11	9
    PVI	1100000	12	12	10

    Giải thích:

    IDC và PVS cùng 7.000.000 (đồng hạng 4), MBS và SHS cùng 5.000.000: RANK nhảy cóc, DENSE_RANK không.

    Chủ đề

    📊 SQLSQLSQL: Buổi 3 – Window FunctionsTất cả môn học

    Đang tải editor...