Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Niestandardowe sortowanie wyników MySQL
Forum PHP.pl > Forum > Przedszkole
marcel_gdynia
Witam, mam mały kłopot z sortowaniem wyników z bazy.
Wykonując zapytanie:
  1. SELECT * FROM db WHERE typ2 = 's' AND typ LIKE '%MIESZKANIE%' ORDER BY cena DESC

Otrzymuję no, powiedzmy 8000 wyników z określonymi warunkami.

Wykonuję zapytanie:
  1. SELECT * FROM db WHERE typ2 = 's' AND typ LIKE '%MIESZKANIE%' AND nr LIKE 'FF%' ORDER BY cena DESC

Czyli dodałem nr LIKE 'FF%', otrzymuję ok 1000 wyników.

I teraz mój kłopot,
muszę wykonać zapytanie z pierwszej opcji z tym, że 8000 rekordów mają wyświetlać się od rekordów które zawierają nr LIKE 'FF%' a dopiero potem reszta, powiem szczerze motam się z tym już dobrą chwilę. Nie wiem czy dość jasno to opisałem.

Acha, mogę wykonać tylko jedno zapytanie, ponieważ póżniej dzielę wynik na strony już w PHP i korzystam z mysql_num_rows. Tak więc opcja zapytań nr LIKE 'FF%' i drugiego nr NOT LIKE 'FF%' odpada.
thek
Jak to "nie mogę"? A o UNION słyszał kiedykolwiek?
marcel_gdynia
  1. (SELECT * FROM db WHERE typ2 = 's' AND typ LIKE '%MIESZKANIE%' AND nr LIKE 'FF%' ORDER BY pow) UNION ALL (SELECT * FROM db WHERE typ2 = 's' AND typ LIKE '%MIESZKANIE%' AND nr NOT LIKE 'FF%' ORDER BY pow)


No niezłe zaćmienie miałem, albo źle pytałem wuja googla. Zapytanie działa elegancko, może nie jest super wydajne, ale daje radę. Dzięki wielkie, oczywiście leci "pomocnik".
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.