Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wynik zapytania zaczynajacy sie od danego id
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
misty
hej!
mam pytanie-czy ktos z Was moglby mi poradzic, czy sie da i jak napisac takie zapytanie by w jego wyniku jako pierwsze pojawialo sie to co zdefiniuje, a dopiero potem cala reszta.
przykladowo:
mam tablice t_imiona (id, imie). i chce wyswietlic wszystki imiona z tej tablicy, ale chce by jako pierwsze pojawilo sie imie o id = 5, a dopiero za nim cala reszta, tj. imiona o id 1,2,3,4,6,7..

Pzdr!
kevinsz
Przychodzi mi do głowy coś takiego:
  1. SELECT * FROM `t_imiona` WHERE id=5 UNION SELECT * FROM `t_imiona` WHERE id<>5
nevt
  1. SELECT *, (id = 5) AS sort FROM t_imiona ORDER BY sort DESC;

albo prościej
  1. SELECT imie FROM t_imiona ORDER BY (id=5) DESC;
misty
nevt" title="Zobacz w manualu PHP" target="_manual, oba Twoje zapytania sa ok:) mam tylko jedno jeszcze pytanie-bo teraz wynik moj teraz jest taki, ze faktycznie pierwszym id jest 5 (czyli tak jak mialo byc:)) ale potem id sa wymieszane. akurat u mnie sa w takiej kolejnosci: 5,2,3,4,6,7,8,9,10,11,12,13,1,14. a daloby rade tak je posortowac by bylo: 5,1,2,3,4,6,7,8,9,10,11,12,13,14..?
Pzdr!
nevt
tak:
  1. SELECT imie FROM t_imiona ORDER BY (id=5) DESC, id;
misty
dzieki:)
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.