Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sortowanie według dwóch kolumn
Forum PHP.pl > Forum > Bazy danych > MySQL
maciu
W tabeli są dwie kolumny typu datetime (ctime, publication). Czy jest taka możliwośc, aby rekordy tej tabeli były sortowane według tych dwóch kolumn przechowywujący wartości daty?

przykład

id ctime publication
1 2005-09-04 2005-09-03
2 2005-09-01 2005-09-02
3 2005-09-02 2005-09-06

kolejność rekordów jaką bym oczekiwał:
3, 1, 2
mike
Żeby dostać wynik taki jakiego oczekujesz wystarczy sortwać po jednej kolumnie:
  1. SELECT *
  2. FROM TABLE ORDER BY publication DESC;

Poczytaj sobie o klauzuli ORDER BY. Tutaj znajdziesz informacjie o niej: SELECT Syntax
maciu
hmm a w takim przypadku, już trzeba brać pod uwagę obie kolumny

id ctime publication
1 2005-09-05 2005-09-02
2 2005-09-01 2005-09-03
3 2005-09-02 2005-09-06

prawidłowa kolejność:
3,1,2

próbowałem zastosować zapis
Kod
ORDER BY publication_date desc, mtime desc

ale nie sortuje tak jak bym chciał
mike
mam wrażenie że nie wiesz na czym polega sortowanie po dwóch lub więcej kolupmach.
To nie jest tak że sortuje i po tej, i po tej na raz.

Jest jakiś priorytet.
Najpierw sortuje po podanej jako pierwsza, potem jeżeli część danych ma takie same wartości, sortuje je po kolejnej kolumnie, a jeśli i tu są takie same dane to po kolejnej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.