Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: DISTINCT i sortowanie po dacie
Forum PHP.pl > Forum > Bazy danych > MySQL
Rafik
Witam,
Napisałem system wiadomości w serwisie. Przy pobieraniu listy wiadomości użyłem DISTINCT aby pominąć wiadomości o takim samym ID głównym [message_reply] (takie same posiada wiadomość główna oraz odpowiedzi do niej) ale nie działa mi sortowanie po dacie (sortuje od największego do najmniejszego ID wiadomości głównej. Skorzystałem z zapytania:

  1. SELECT DISTINCT message_reply FROM messages WHERE (message_to='".$_SESSION['user_idn']."') OR (message_from='".$_SESSION['user_idn']."') ORDER BY message_date DESC


Próbowałem również użyć GROUP BY ale wynik był taki sam. moje pytanie brzmi: jak pobrać dane pomijając takie same rekordy z danego pola ale jednocześnie sortując wyniki wg. innego?
cojack
Polez DISTINCT musi występować w klauzuli ORDER BY, inaczej nie ma szans zadziałać, jak to rozwiązać?
  1. SELECT
  2. *
  3. FROM
  4. tabela
  5. GROUP BY
  6. kolumna_z_id_message
  7. ORDER BY
  8. MIN( kolumna_z_data);


albo MAX, w zależności czego oczekujesz. Distinct jest właśnie taki automagicznowkurwiaaaaaaaajaszający.
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.