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
sniver
post
Post #2





Grupa: Zarejestrowani
Postów: 159
Pomógł: 5
Dołączył: 31.08.2007

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


nie wiem czy da się wyciągając fragment tekstu to jakość posortować, ale napewno da się tak:
  1.  
  2. SELECT
  3. *,
  4. IF( `KOD` = 'AC 444', 1,
  5. IF( `KOD` = 'AC 222', 2,
  6. IF( `KOD` = 'AC 11', 3,
  7. IF( `KOD` = 'DC 22', 4,
  8. IF( `KOD` = 'DC 11', 5, 6
  9. )
  10. )
  11. )
  12. )
  13. ) AS `qaz`
  14.  
  15. FROM
  16. nazwaTejTabeli
  17. ORDER BY `qaz` ASC, WYDAJNOSC ASC, POJEMNOSC ASC


Mam nadzieje że sie nie machnąłem gdzieś z tymi nawiasami (IMG:style_emoticons/default/smile.gif)
nie eleganckie i takie niejakie ale póki nie znajdziesz niczego lepszego dobre i to (IMG:style_emoticons/default/tongue.gif)
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: 13.10.2025 - 06:36