Chọn dòng đầu tiên trong mỗi nhóm của GRO...
Chọn dòng đầu tiên trong mỗi nhóm của GRO...
Để trả lời câu hỏi này bằng tiếng Việt, bạn có thể sử dụng câu lệnh SQL sau:
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY [tên_cột_nhóm] ORDER BY [tên_cột_sắp_xếp] DESC) as rn
FROM [tên_bảng]
) tmp
WHERE rn = 1;
Trong đó:
[tên_cột_nhóm]
là tên cột bạn muốn nhóm theo.[tên_cột_sắp_xếp]
là tên cột bạn muốn sắp xếp để chọn dòng có giá trị lớn nhất hoặc nhỏ nhất trong nhóm.[tên_bảng]
là tên bảng chứa dữ liệu bạn muốn truy vấn.Câu lệnh này sử dụng hàm ROW_NUMBER()
để gán số thứ tự cho mỗi dòng trong mỗi nhóm, sắp xếp theo cột bạn chọn. Sau đó, từ kết quả tạm thời tmp
, câu lệnh chọn ra những dòng có số thứ tự ...
expert
Chưa có bình luận nào