cuốn sách gpt4 ai đã làm

sql - Tuần tự hóa bằng ROW_NUMBER() thay vì OFFSET và FETCH

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 00:49:59 27 4
mua khóa gpt4 Nike

Tôi nhận thấy việc sử dụng (bù đắp, lấy) 和 số hàng Có những hành vi khác nhau.

Khi tôi sử dụng số dòng, nó trả về kết quả mà tôi mong đợi.

Vì vậy, truy vấn Sequelize của tôi trông như thế này:

 ClanModel.findAll({
thứ tự: [["Thắng", "DESC"]],
bù đắp: trang * 5,
giới hạn: 5
})

Truy vấn SQL bắt đầu từ hàng đầu tiên

SELECT 
[clid] NHƯ [ClanId], [Tên], [Thắng], [Thua],
[tổngđiểm] NHƯ [Tổng số điểm]
FROM
[Gia tộc] NHƯ [Gia tộc]
ORDER BY
[Gia tộc].[Thắng] DESC
Bù đắp 0 HÀNG CHỈ TÌM KIẾM 5 HÀNG TIẾP THEO;

kết quả:

[ { Tên: 'Test6'},
{ Tên: 'Test5'},
{ Tên: 'Test4'},
{ Tên: 'Test3'},
{ Tên: 'Test2'} ]

Truy vấn SQL sau kết quả thứ 5:

SELECT 
[clid] NHƯ [ClanId], [Tên], [Thắng], [Thua],
[tổngđiểm] NHƯ [Tổng số điểm]
FROM
[Gia tộc] NHƯ [Gia tộc]
ORDER BY
[Gia tộc].[Thắng] DESC
BẮT ĐẦU 5 HÀNG CHỈ TÌM KIẾM 5 HÀNG TIẾP THEO;

kết quả:

[ { Tên: 'Test5'},
{ Tên: 'Test4'},
{ Tên: 'Test3'},
{ Tên: 'Test2'},
{ Tên: 'Thử nghiệm1'} ]

Truy vấn số dòng:

 SELECT 
[Tên], [Thắng], [Thua], [Tổng điểm] NHƯ [Tổng điểm]
FROM
(LỰA CHỌN
[clid] NHƯ [ClanId], [Tên], [Thắng], [Thua],
[tổngđiểm] NHƯ [Tổng số điểm],
ROW_NUMBER() QUÁ (ĐẶT HÀNG THEO [Thắng]) NHƯ RowNum
FROM
[Gia tộc]) với tư cách là Gia tộc
WHERE
Clan.RowNum GIỮA 5 VÀ 10

Trả về kết quả tôi mong đợi:

Kiểm tra5
Kiểm tra6
Kiểm tra7
Kiểm tra8
Kiểm tra9
Kiểm tra10

Bản ghi cơ sở dữ liệu của tôi:

Kiểm tra1
Kiểm tra2
Kiểm tra3
Kiểm tra4
Kiểm tra5
Kiểm tra6
Kiểm tra7
Kiểm tra8
Kiểm tra9
Kiểm tra10

Tôi muốn sử dụng mô hình tuần tự hóa của mình để lấy dữ liệu thay vì sử dụng truy vấn sql thông thường. Nhưng tôi không thể tìm ra cách sử dụng số hàng trong Phần tiếp theo.

Có cách nào để vẫn sử dụng tính năng sắp xếp lại để lấy dữ liệu của tôi không?

câu trả lời hay nhất

Bạn không hiển thị dữ liệu đầy đủ. Vì vậy, đây là dự đoán: bạn thắng Có một kết nối trong cột. đặt hàng theo Thứ tự của không ổn định hoặc thậm chí không nhất quán, có nghĩa là các mối quan hệ có thể được trả về theo bất kỳ thứ tự nào. Vì vậy, hãy giải quyết vấn đề này bằng cách thêm tên:

CHỌN [clid] NHƯ [ClanId], [Tên], [Thắng], [Thua], [tổng điểm] NHƯ [Tổng điểm]
TỪ [Gia tộc] NHƯ [Gia tộc]
ĐẶT HÀNG THEO [Clan].[Thắng] DESC, Clan.Name
BẮT ĐẦU 5 HÀNG CHỈ TÌM KIẾM 5 HÀNG TIẾP THEO;

giả thuyếtTênlà duy nhất, điều này sẽ làm cho việc sắp xếp trở nên nhất quán. Nếu điều này hoạt động trong SQL thì nó sẽ dễ dàng triển khai trong Sequelize.

Về sql - tuần tự hóa bằng ROW_NUMBER() thay vì OFFSET và FETCH, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/33066461/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress