Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z sortowaniem mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
zoom24
Witam.

Mam problem z poprawnym posortowaniem numerów dokumentu. W bazie mam kolumnę która przechowuje nr w takiej postaci NR/MSC/ROK

przykładowo mam kilka nr w bazie

12/04/2013
3/03/2013
55/12/2013

Problem polega na tym, że powyższe dane chciałbym za pomocą zapytania mysql wyswietlić odpowiednio posortowane a wiec w takiej kolejnosci:
3/03/2013
12/04/2013
55/12/2013


Próbowałem coś w tym stylu

  1. SELECT nr_dok FROM lista_dokumentow ORDER BY nr_dok DESC


Niestety takie sortowanie nie działa tak jak bym tego chciał.
Za sugestie i podpowiedzi dzięki.

Pozdr smile.gif




_Borys_
  1. SELECT nr_dok,msc,rok FROM lista_dokumentow ORDER BY nr_dok ASC
Fifi209
@_Borys
O ile dobrze myślę, numer dokumentu to jedno pole tylko smile.gif

@topic
Rozbić trzeba to na nr, msc, rok np jakimś wyrażeniem regularnym

REGEXP
zoom24
Dzięki za sugestie.

Tak nr dokumentu to jedno pole. Czyli rozumiem, że trzeba pobrać numery dokumentów za pomocą mysql i przy wyświetlaniu rozbić nr na 3 mniejsze człony i sortować questionmark.gif wink.gif


Pozdr.
luckyps
Mozna by sprobowac czegos takiego.
Fifi209
@up
Oczywiście, że można.

Można również przebudować tabelę, tak aby inaczej były przetrzymywane dane (w osobnych polach)

Albo użyć funkcji o której ja wspomniałem

Żadnego pobierania i sortowania po stronie PHP! Zapomnij!
mmmmmmm
  1. ORDER BY year(str_to_date(RIGHT(nr_dok,7), '%m/%Y')), month(str_to_date(RIGHT(nr_dok,7), '%m/%Y'))
zoom24
Witam ponownie smile.gif

Dziękuję za wszelkie rady, propozycje oraz sugestie.
Rozwiązałem problem w następujący sposób.

W bazie zostawiłem kolumnę nr_dok która przechowuje nr dokumentu wg formatu ROK/MSC/NR

Zapytanie jakie u mnie zadziałało to
  1. SELECT *, STR_TO_DATE(nr_dok,'%Y/%m/%d') AS realdate FROM lista_dokumentow ORDER BY nr_fak DESC


i wszystko ładnie mi sortuje tak jak chciałem smile.gif

Pozdrawiam.
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.