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] Đánh số phiên giao dịch theo từng mã

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

    Phòng phân tích muốn đánh số thứ tự các phiên giao dịch của từng mã để dễ tham chiếu (phiên thứ 1, thứ 2, ...).

    Với hai mã FPT và HPG, hãy liệt kê mọi phiên giao dịch trong bảng MarketPrices kèm số thứ tự phiên của mã đó, đánh số từ 1, theo ngày giao dịch tăng dần và bắt đầu lại từ 1 cho mỗi mã (dùng ROW_NUMBER() với PARTITION BY).

    Sắp xếp kết quả theo symbol tăng dần, rồi trade_date tăng dần.

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

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

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

      symbol, trade_date, close_price, phien_so (ngăn cách bằng TAB); sắp xếp theo symbol, trade_date.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    FPT	2026-09-14	123600.00	1
    FPT	2026-09-15	120000.00	2
    FPT	2026-09-16	122400.00	3
    FPT	2026-09-17	126000.00	4
    FPT	2026-09-18	124800.00	5
    FPT	2026-09-21	123600.00	6
    FPT	2026-09-22	121200.00	7
    FPT	2026-09-23	117600.00	8
    FPT	2026-09-24	118800.00	9
    FPT	2026-09-25	116400.00	10
    HPG	2026-09-14	27000.00	1
    HPG	2026-09-15	26190.00	2
    HPG	2026-09-16	27000.00	3
    HPG	2026-09-17	27540.00	4
    HPG	2026-09-18	27270.00	5
    HPG	2026-09-21	27540.00	6
    HPG	2026-09-22	26730.00	7
    HPG	2026-09-23	27270.00	8
    HPG	2026-09-24	26460.00	9
    HPG	2026-09-25	27270.00	10

    Giải thích:

    Dữ liệu gốc: mỗi mã có 10 phiên, số thứ tự chạy 1..10 cho từng mã.

    Chủ đề

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

    Đang tải editor...