Проблема с ограничением объединения MySQL

Я хочу, чтобы скрипт разбиения на страницы работал нормально, но ситуация немного сложная. Мне нужно выбрать данные из объединения двух запросов 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
5
задан Gajendra Bang 8 December 2010 в 10:03
поделиться