Для фиктивного примера предположим, что у меня есть база данных со следующими строками: book
, author
(= столбец A), publish-date
(= столбец B).
Теперь я хочу отсортировать книги так, чтобы строки были собраны по автору, но авторы должны появляться в таком порядке, чтобы автор, опубликовавший самое последнее, пришел первым. Для каждого автора книги должны быть отсортированы по дате публикации.
Пример вывода, который я хотел бы получить:
BOOK AUTHOR PUBLISH-DATE # COMMENT
some book John Doe 2019 # most recent book => John Doe is first
another book John Doe 2017
one more John Doe 2011
again a book Richard Roe 2016 # Richard Roe is second because this is the most recent book amongst the remaining ones.
and one more Richard Roe 2008
another one Janie Doe 2013 # and so on.
(Объяснение приведенного выше примера: Джон Доу стоит первым, потому что он написал книгу совсем недавно. Но сразу же после этого отображаются другие его книги, отсортированные по дате публикации в обратном порядке. Затем идет Ричард Роу, потому что он второй самый последний Автор, опубликовавший книгу. И т. д.)
По сути, вместо сортировки с ORDER BY author ASC, publish-date DESC
я бы хотел изменить порядок групп книг по данному автору после наибольшего значения в третьем столбце.
Я понятия не имею, как решить эту проблему в MySQL, и при этом я не знаю, как называется этот вид сортировки. Я надеюсь, что вы можете помочь мне ^^ Заранее спасибо!