Câu hỏi phỏng vấn SQL
Câu hỏi

Chọn dòng đầu tiên trong mỗi nhóm của GRO...

Câu trả lời

Để 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

expert

Gợi ý câu hỏi phỏng vấn

middle

Sự khác biệt giữa JOIN và UNION trong SQL là gì?

middle

Sự khác biệt giữa mệnh đề WHERE và mệnh đề HAVING trong SQL là gì

middle

Collation trong SQL là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào