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

Cách tạo row number trong SQL Server mà không cần ROWNUM như thế nào?

Câu trả lời

Để tạo số thứ tự cho mỗi hàng trong SQL Server mà không sử dụng hàm ROW_NUMBER(), bạn có thể sử dụng một số phương pháp khác nhau. Dưới đây là một số cách:

Phương pháp 1: Sử dụng Subquery và COUNT

Bạn có thể sử dụng một subquery với hàm COUNT để tạo số thứ tự dựa trên một cột duy nhất hoặc một kết hợp các cột là duy nhất:

sql Copy
SELECT prdid,
       (SELECT COUNT(*) FROM prd p WHERE p.prdid >= r.prdid) as rnk
FROM prd r
ORDER BY rnk;

Phương pháp này hoạt động bằng cách đếm số lượng hàng có giá trị cột prdid nhỏ hơn hoặc bằng giá trị của hàng hiện tại[1].

Phương pháp 2: Sử dụng Temp Table và IDENTITY

Bạn có thể tạo một bảng tạm thời và sử dụng cột IDENTITY để tự động tạo số thứ tự khi chèn dữ liệu vào bảng tạm thời:

sql Copy
SELECT IDENTITY(INT, 1, 1) AS rowNum, dt
INTO #temp
FROM t...
middle

middle

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

middle

ROWID trong SQL Server là gì?

senior

TruncateDelete ảnh hưởng như thế nào đến Identity trong SQL Server?

middle

Làm thế nào để lấy ra các hàng ngẫu nhiên từ một bảng trong SQL Server?

Bình luận

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

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