"To zależy". A dokładnie zależy czy zależy nam na prostocie czy na skalowalności i wydajności.
Jeśli będzie wielu użytkowników danej aplikacji, to żeby odciążyć bazę można sortować w aplikacji dostępowej. Zwłaszcza jeśli sortowanie takie nie zaważy na wydajności aplikacji klienckiej (użytkownik nie chciałby czekać 10 sekund na wyświetlenie, dajmy na to, listy wystawionych faktur).
Wyobraźmy sobie sytuację, że mamy 100.000 użytkowników, którzy na raz dokonują dostępu do bazy danych w celu pobrania 100 rekordów każdy. Baza musi dokonać 100.000 100-elementowych sortowań. Możemy też dane wysłać do użytkownika i dopiero wtedy je posortować, dzięki czemu obliczeniowo odciążymy maszynę, na której pracuje baza danych.
Oczywiście 100 i 100.000 to przykładowe liczby, wszystko zależy od projektowanego systemu. Co innego zrobienie małej gry multiplayer, a co innego systemu obsługi stacji paliw :)
W przypadku, kiedy wiemy, że baza danych nie będzie miała dużo pracy lub sortowanie może zaważyć na wydajności aplikacji klienckiej, warto pomyśleć o sortowaniu w bazie czy ewentualnym upgradzie maszyny, na której jest nasza baza danych. Baza wykorzystuje również "przyśpieszacze" w postaci indeksów, dzięki czemu sortowanie może odbyć się szybciej (oczywiście odpowiednie indeksy muszą zostać utworzone).
TLDR: Odpowiedź nie jest jednoznaczna, bo to zależy od projektowanego systemu. Jednakże, jeśli projektujesz aplikacje, które nie będą używane na masową skalę, to myślę, że nie masz co przejmować się za bardzo wydajnością bazy. Sortuj w bazie.