C# mysql с разбиением на страницы (предел) с сортировкой. после добавления новой записи. запись не будет находиться на последней странице

Я использую C#.

получить образец записи

выберите * из таблицы nameName по полю A, FieldB, FieldC предел 0, 10

после того как я добавил новую запись. по праву его можно найти на последней странице моего результата. но из-за сортировки. это может быть не на последней странице.

мой вопрос как я узнаю, что эта запись (у меня есть lastCreateID) на самом деле находится на какой странице? так что я могу перераспределить мой предел нумерации страниц на конкретной странице?

С уважением, MH

1 ответ

Решение

Что вам, вероятно, придется сделать, чтобы узнать, на какой странице он находится, сделать что-то вроде

select *,@row:=@row+1 as row 
from tableName,(select @row:=0)R order by fieldA, FieldB , FieldC

вышеприведенное только для того, чтобы показать, что мы можем присвоить ему номер строки, используя тот же порядок, что и ваш предельный запрос нумерации страниц (порядок по fieldA,FieldB,FieldC). то, что вам нужно сделать, это выбрать как

select row from
(select *,@row:=@row+1 as row 
from tableName,(select @row:=0)R order by fieldA, FieldB , FieldC)T1
where yourIDcolumnName = lastCreatedId

чтобы получить номер строки последнего созданного номера строки, и теперь, когда вы знаете, в какой строке он находится, вы можете выяснить, на какой странице он находится.

Другие вопросы по тегам