Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ORDER BY [część tekstu]
sc0rpi0
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.07.2010

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


Witam

Potrzebuję pomocy ze skonstruowaniem zapytania SQL, a mój problem dotyczy dokładnie instrukcji ORDER BY:
Otóż czy da się zrobić sortowanie wg tylko części (np. 2 znaków) z danej kolumny?

Załóżmy, że mam takie wpisy w tabeli produktów:
Kod
KOD     WYDAJNOSC     POJEMNOSC
AC 444     50          115
AC 222     50          110
AC 11      60          80
DC 22      30          90
DC 11      35          90

I chcę zrobić proste sortowanie ORDER BY KOD, WYDAJNOSC, POJEMNOSC z tym, aby do KOD brało tylko dwa pierwsze znaki, czyli aby w wynikach najpierw pojawiły się wszystkie produkty o początku kodu "AC", a następnie te o kodzie "DC" a dla produktów o takim samym początku kodu kolejnym kryterium ma być WYDAJNOSC a następnie POJEMNOSC.
W efekcie chciałbym uzyskać kolejność AC 222, AC 444, AC 11, DC 22, DC 11.

Dziękuję za wszelkie sugestie...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sc0rpi0
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.07.2010

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


Nie, bo ja chcę aby wzięło najpierw wszystkie AC (tak aby np. AC 222 było równe AC 444 i równe AC 11 - ze względu na takie same 2 pierwsze znaki) i dla nich zastosowało sortowanie po wydajności a potem po pojemności.
A przy zwykłym sortowaniu sortuje po całym kodzie (AC 222 jest różne od AC 333) i kryterium wydajności nawet nie stosuje, bo każdy kod jest inny.

Czyli w wyniku mają być najpierw wszystkie AC posortowane wg wydajności (a gdy jest taka sama to po pojemności) a potem wszystkie DC (posortowane tak samo...).

Ten post edytował sc0rpi0 19.10.2010, 16:49:43
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 17:42