Po pierwsze, jest złą praktyką, aby zapisać datę i czas w różnych dziedzinach.
W każdym razie, zakładając, że są oszczędności datę/czas w odpowiednim formacie. (tj. Format daty to rrrr-mm-dd i Czas to hh: ss)
Najpierw należy połączyć datę i godzinę, aby uzyskać wartość daty i czasu. Z technicznego punktu widzenia można zrobić ZAMÓWIENIE PRZEZ pole Datetime, ale nie jest to znowu dobra praktyka. W naszym przypadku, gdy uruchamiamy CONCAT, to jest on konwertowany na ciąg znaków, więc zestaw wyników będzie niepoprawny. Musisz więc przekonwertować go na TIMESTAMP systemu UNIX, aby wykonać zamówienie.
Jego dobrą praktyką jest uruchamianie UNIX_TIMESTAMP na polu datetime przed klauzulą ORDER by.
Możesz użyć następującego zapytania.
SELECT kolumna1, kolumna2, UNIX_TIMESTAMP (CONCAT (event_date
”” event_time
)) jako unixtimestamp z nazwa_tabeli Zamówienia unixtimestamp desc;
Uwaga: (.. Jest to przestrzeń między EVENT_DATE i EVENT_TIME w funkcji Concat To nie jest wyświetlany poprawnie tutaj)
Brzmi jak oni chcą tylko datę od eventDate i godzinę od eventHour. Jeśli godzina zdarzenia date nie była taka sama dla wszystkich wyników w tym dniu, to byłaby ona zamawiana przed godziną eventhour. –
Awans dla wyjaśnienia różnicy daty/czasu dla nich. –