Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ORDER BY
MikroUser
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 5.09.2006

Ostrzeżenie: (0%)
-----


Witam.

Tabelka:
  1. ID | Name
  2. 0 | Andrzej
  3. 1 | Edward
  4. 2 | Warszawa
  5. 3 | Paweł
  6. 4 | Asia
  7. 5 | Kraków


Chcę aby posortować tabelkę względem Name ale tak żeby wszystko co się zaczyna na 'P' było na końcu:

  1. SELECT * FROM TABLE WHERE NAME NOT LIKE 'P%' ORDER BY NAME

Wynik jest:
0 | Andrzej
4 | Asia
1 | Edward
5 | Kraków
2 | Warszawa

Jak dołączyć wiersz 3|Paweł. Chcę aby był na końcu posortowanej tabeli. Jak to zrobić ? Interesuje mnie select dla pgSQL.

Dziękuję za odpowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Dodaj UNION z podobnym zapytaniem, tylko tym razem wybierz tylko rekordy zaczynajace sie na 'P'.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
MikroUser
post
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 5.09.2006

Ostrzeżenie: (0%)
-----


Wykorzystałem
http://www.postgresql.org/docs/7.3/interac...union-case.html

ale niestety to nie pomogło.

  1. SELECT * FROM tTabela WHERE ID = 21 AND Name != 'Inne'
  2. UNION SELECT * FROM tTabela WHERE ID = 21 AND "Name" = 'Inne'


Wykonanie zapytania zwraca:

Andrzej
Asia
Artek
Inne
Kraków
...

Chcę żeby zapytanie zwróciło posortowane wyniki bez 'Inne' a 'Inne' było na końcu.

Proszę o pomoc.
Go to the top of the page
+Quote Post
KILIUSZKIN
post
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Moja podpowiedź to:

Spróbuj zamiast UNION użyć UNION ALL (powinno pomóc wystarczająco) , a jak to nie pomoże, to
dodatkowo w zapytaniach dodaj (jako pierwszą) kolumnę i wstaw tam wartość 1 w pierwszym zapytaniu, a
w drugim zapytaniu wartość 2 i wtedy na pewno posortuje Ci tam jak chcesz.


--------------------
________________________________________________________________________________
czy programiści używają jeszcze diagramów ? jeśli nie, to tylko zwykli koderzy są ;)
Go to the top of the page
+Quote Post
Skobi
post
Post #5





Grupa: Zarejestrowani
Postów: 174
Pomógł: 1
Dołączył: 19.02.2004

Ostrzeżenie: (10%)
X----


zapytanie powinno wygladac tak:

  1. SELECT
  2. ID, Name,
  3. case when substr(lower(Name),1,1) = 'p' then 1
  4. else 0
  5. end AS sort
  6. FROM TABLE ORDER BY sort ASC, Name ASC
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 21:08