Так что на самом деле не существует способа сделать этот тип запроса «классным», если вы собираетесь извлекать всю информацию из одного запроса. Вы не можете создать ничего, кроме прямоугольной таблицы, и, следовательно, не можете представлять отношения «многие к одному», «один ко многим» или «многие ко многим» более классным способом. Если вы хотите сделать что-то подобное, я бы порекомендовал использовать язык сценариев на стороне сервера, чтобы позаботиться о нем и отобразить его так, как вы хотите (то есть, если это не веб-приложение, просто используйте Веб-язык).
Чтобы получить все данные и сгруппировать / отсортировать по дате, вы должны сделать следующее:
SELECT *
FROM myDB.myTable
GROUP BY theDateValue
ORDER BY theDateValue ASC;
При этом все записи из таблицы будут извлечены, сгруппированы по соответствующим датам, а затем отсортированы в порядке возрастания по значениям даты.