Я хочу использовать значение ISBN для книг, получивших наибольшее количество голосов, в таблице книг
Мой db->
**books-rate**
isbn-rate-user id
**books**
isbn-title-author
Я пишу этот запрос, но, хотя я использовал этот запрос, дает 271000 книг.
SELECT * from books
where books.ISBN IN (SELECT ISBN
FROM
(SELECT 'ISBN' as pis
FROM books-rate
GROUP BY `ISBN`
ORDER BY COUNT(pis) DESC LIMIT 10) as xd)
См.: Почему я должен предоставлять MCVE для того, что мне кажется очень простым запросом SQL?






Если вам нужен топ-10, вы можете использовать
SELECT *
from books
INNER JOIN (
SELECT isbn
FROM `books-rate`
GROUP BY isbn
ORDER BY COUNT(*) DESC
LIMIT 10
) t on t.isbn = books.isbn
Вы не должны заключать свое имя columnn в одинарные кавычки, но в конечном итоге используйте backtics .. и вы можете избежать предложения IN, используя внутреннее соединение, и последнее имя таблицы с минусом должно быть заключено в backtics
чего ты пытаешься достичь? Слишком много вложенных подзапросов неэффективно и не масштабируемо