Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie po kolejności warunków
Forum PHP.pl > Forum > Bazy danych > MySQL
pitbull82
Witam

Mam w uproszczeniu zapytanie

  1. SELECT * FROM users WHERE (war1 = 1 OR war2 = 2 OR war3 = 3)


Czy da się tak posortować wyniki, żeby najpierw byli wyświetleni użytkownicy którzy spełniają warunek war1=1, potem ci którzy spełniają warunek war2 = 2, a na samym końcu ci którzy spełniają war3 = 3 ? Podejrzewam, że nie da się tego osiągnąć bez rozbijania zapytania, ale kto wie smile.gif

Pozdrawiam
bpskiba
Cytat(pitbull82 @ 4.05.2012, 15:14:33 ) *
Witam

Mam w uproszczeniu zapytanie

  1. SELECT * FROM users WHERE (war1 = 1 OR war2 = 2 OR war3 = 3)


Czy da się tak posortować wyniki, żeby najpierw byli wyświetleni użytkownicy którzy spełniają warunek war1=1, potem ci którzy spełniają warunek war2 = 2, a na samym końcu ci którzy spełniają war3 = 3 ? Podejrzewam, że nie da się tego osiągnąć bez rozbijania zapytania, ale kto wie smile.gif

Pozdrawiam


Można tak
  1. SELECT pole,1 FROM users WHERE war1=1
  2. UNION
  3. SELECT pole,2 FROM users WHERE war2=2
  4. UNION
  5. SELECT pole,3 FROM users WHERE war3=3
  6. ORDER BY 2

ale co będzie z wydajnością, to już nie wiem smile.gif
pmir13
Można po prostu
  1. ...
  2. ORDER BY war1<>1, war2<>2
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.