Я хочу, чтобы скрипт разбиения на страницы работал нормально, но ситуация немного сложная. Мне нужно выбрать данные из объединения двух запросов sql. См. Запрос ниже. У меня есть настольная книга и настольная книга для посещения. Я хочу здесь показать все книги для определенной категории в порядке их популярности. Я получаю данные по всем книгам хотя бы за одно посещение, объединив table book и bookvisit. а затем объединить его со всеми книгами без посещения. Все работает нормально, но когда я пытаюсь выполнить разбиение по страницам, мне нужно ограничить его, например (0,10) (10,10) (20,10) (30,10), верный? Если у меня есть 9 книг в bookvisit для этой категории и 3761 книга без посещения для этой категории (всего 3770 книг), в нем должно быть 377 страниц, по 10 книг на каждой странице. но он не показывает никаких данных для некоторых страниц, потому что он пытается показать книги с ограничением 3760,10 и, следовательно, нет записей для второго запроса в объединении. Возможно, я не могу прояснить ситуацию здесь, но если вы немного задумаетесь о ситуации, вы поймете мою точку зрения.
SELECT * FROM (
SELECT * FROM (
SELECT viewcount, b.isbn, booktitle, stock_status, price, description FROM book AS b
INNER JOIN bookvisit AS bv ON b.isbn = bv.isbn WHERE b.price <> 0 AND hcategoryid = '25'
ORDER BY viewcount DESC
LIMIT 10, 10
) AS t1
UNION
SELECT * FROM
(
SELECT viewcount, b.isbn, booktitle, stock_status, price, description FROM book AS b
LEFT JOIN bookvisit AS bv ON b.isbn = bv.isbn WHERE b.price <> 0 AND hcategoryid = '25'
AND viewcount IS NULL
ORDER BY viewcount DESC
LIMIT 10, 10
) AS t2
)
AS qry
ORDER BY viewcount DESC
LIMIT 10