Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie w zależności od wartości jednego pola oraz innego pola
Forum PHP.pl > Forum > Bazy danych > MySQL
Majdan
Witam!

Załóżmy, że mam tabelę tabela, która ma 3 pola pole1 i pole2

Chcę pobrać dane z tabeli tabela w taki sposób aby najpierw wyświetliły się rekordy, które pole1 jest inne niż null. Ale wszystkie rekordy mają być sortowane według pola2.

Jeżeli dam:
  1. SELECT * FROM tabela GROUP BY pole1 DESC, pole2

To otrzymam np.:
  1. pole1 | pole2
  2. 5 | klm
  3. 3 | zxy
  4. 1 | abcd
  5. null | dfg


A chę otrzymać w takiej kolejności
  1. pole1 | pole2
  2. 1 | abcd
  3. 5 | klm
  4. 3 | zxy
  5. null | dfg


Mam nadzieję, że zrozumieliście o co mi chodzi.

Pozdrawiam!
SongoQ
Dziwny problem. Moze do sortowaina tam gdzie jest null dopisuj znak z konca konca alfabetu do pole2 i wtedy tylko sortuj po polu pole2
Majdan
To nie wyjdzie.
W moim przykladzie pole2 to char(). W rzeczywistości to DATETIME.

Wiem, że mogę to zrobić na dwa zapytania - raz same null, później te bez null. Ale myślałem, że można to zrobić w jednym.

Dzięki!
wijet
W mySQL zostaja tylko procedury, mozesz wykonac te 2 zapytania w jednej procedurze
bedzie to troche szybsze niz wyslanie dwoch osobnych zapytan do bazy, bedziesz
potrzebowal mysqla w wersji minimum 5.
Procedury i funkcje
SongoQ
Zawsze mozesz dla sortowania zrobic konwersje typu.
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.