У меня есть две таблицы. Один из них - таблица книг. Он имеет две колонки. id|title
. Еще одна таблица student_books. Он имеет две колонки: student_id|book_id
. Когда ученик пытается прочитать книгу, я проверяю таблицу student_books, соответствуют ли ученики и идентификаторы book_id. Студент может купить несколько книг, поэтому может быть несколько записей в таблице student_books
. теперь я хочу показать список книг, основанный на популярности (с максимальными записями в таблице student_books) на странице. Как написать SQL-запрос?mysql: сортировать таблицы с использованием данных другой таблицы
ответ
SELECT b.id, b.title
FROM books b
LEFT JOIN students s ON s.book_id = b.id
GROUP BY b.id, b.title
ORDER BY COUNT(s.book_id) DESC;
Вы выбираете 'title', но этот столбец не является агрегированным, а также не отображается в' GROUP BY'. –
@TimBiegeleisen Не проблема в MySQL. – shmosel
Да, это проблема в MySQL, и ваш запрос не запускался в определенных версиях. –
Вы можете присоединиться книги таблицу с student_books и порядке подсчета для каждой книги
select b.*
from books b
left outer join student_books s
on b.id = s.book_id
group by b.id, b.title
order by count(s.student_id) desc;
- 1. Замена данных одной таблицы с использованием другой таблицы в Mysql
- 2. MYSQL Сортировать по сумме другой таблицы
- 3. Сортировать по строкам другой таблицы
- 4. Заказ таблицы MySQL с использованием метки времени из другой таблицы
- 5. Обновление с использованием данных из другой таблицы
- 6. Обновление одной таблицы с использованием данных из другой таблицы - Oracle
- 7. создание таблицы (таблицы) с использованием MySql
- 8. Создание таблицы mysql из другой таблицы
- 9. MySQL обновление данных с использованием 3 таблицы
- 10. MySQL - Обновление таблицы и вставка данных из другой таблицы
- 11. Получение данных из другой таблицы в mysql
- 12. MySQL - введите данные таблицы из другой таблицы
- 13. обновление MYSQL данных из другой таблицы
- 14. Получение столбца данных из другой таблицы MySQL
- 15. GROUP BY с использованием другой таблицы
- 16. Обновление MySQL таблицы из другой таблицы
- 17. MySQL Обновление таблицы из другой таблицы
- 18. обновление таблицы из другой таблицы с использованием Oracle DB
- 19. MySQL обновление одной таблицы из другой таблицы
- 20. Mysql сортировка таблицы на основе другой таблицы
- 21. Mysql таблицы обновления путем присоединения другой таблицы
- 22. PHP/MYSQL Сортировка таблицы эха данных mysql
- 23. Mysql: Расширить одну структуру таблицы с другой структурой таблицы
- 24. Вставка данных в несколько таблиц с использованием результата другой таблицы
- 25. Подсчет из другой таблицы [MySQL]
- 26. Получение данных из другой таблицы
- 27. Connect две таблицы с помощью таблицы с другой - MySQL присоединиться
- 28. Обновление строки MySQL при обновлении с использованием другой таблицы
- 29. Обогащение таблицы данных с производными значениями из другой таблицы данных.
- 30. MySQL соединяет таблицы, где имя таблицы является полем другой таблицы
Можете ли вы предоставить запрос, который вы пытались написать, чтобы получить данные, которые вы хотите? Каков ваш намеченный результат запроса? Просто книги названы по популярности? или фактический счет? –