Я хочу, чтобы пейджинговый скрипт работал нормально, но ситуация немного сложная. Мне нужно выбрать данные из объединения двух запросов SQL. Смотрите запрос ниже. У меня есть настольная книга и настольный книжный шкаф. Я хочу показать все книги определенной категории в порядке их популярности. Я получаю данные для всех книг по крайней мере за одно посещение, присоединяясь к таблице book и bookvisit. и затем объедините это со всеми книгами без посещения. Все работает нормально, но когда я пытаюсь сделать пейджинг, мне нужно ограничить его как (0,10) (10,10) (20,10) (30,10), правильно? Если у меня 9 книг в этой книге и 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