Как выбрать жанр книги, который заимствован больше всего

#mysql #sql #mysql-workbench

#mysql #sql #mysql-workbench

Вопрос:

У меня есть таблица под названием books, и я должен выбрать book_genre, который заимствован больше всего (times_borrowed):

 SELECT book_genre FROM books WHERE times_borrowed = (SELECT MAX(times_borrowed) FROM books); 
 

Теперь я выбираю только наиболее заимствованный жанр, но есть много книг с одинаковыми жанрами, как бы я суммировал «times_borrowed» для каждого жанра, а затем определил наиболее заимствованный жанр? Спасибо за любую помощь или совет.

Комментарии:

1. Добавьте DDL, примерные данные и ожидаемый результат

Ответ №1:

 SELECT b.book_genre, SUM(b.times_borrowed) AS TotalBorrowed   -- Get the sum of borrowings
FROM books AS b
GROUP BY book_genre      -- by book_genre
ORDER BY SUM(b.times_borrowed) DESC    -- sort by total desc, so highest first
LIMIT 1;   -- take first result
 

Комментарии:

1. Что, если два жанра одинаково популярны?

2. В SQL Server вы можете TOP (1) WITH TIES не быть уверены в MySQL, я думаю, вам нужно row_number()