In dem Array liegen die Werte in der Reihenfolge, in der sie per SQL geholt wurden, nach Datum sortiert. Das ist für den ersten Arbeitsschritt auch sinnvoll so.
Ist es wirklich sinnvoll innerhalb desselben Scripts zwei mal die vollständige Datensammlung in unterschiedlichen Sortierreihenfolgen zu haben?
Ist das in PHP überhaupt möglich (ich werde aus der Beschreibung der Array-Sort Funktionen nicht so schlau) oder ist es einfacher die Daten neu per SQL zu holen ?
Es ist ohne weiteres möglich, tabellenähnliche Arrays in PHP zu sortieren - array_multisort() wird dich interessieren - besonders das dritte Beispiel.
Es kommt aber auf die Datenmenge an - ggf ist es schneller 2 SQL Abfragen zu machen anstatt einer und diese dann per PHP herumzuschaufeln. Datenbanken können eines gut: Daten handhaben, dafür sollte man sie auch nutzen.