Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proste zapytanie.
Forum PHP.pl > Forum > Bazy danych > MySQL
rogeros
Witam.
Mam tabele "faktury" w ktorej przechowuje numery faktur w postaci w kolumnie "numer"

H/21/02/2005
H/30/02/2005
H/40/02/2005
H/12/02/2005

i chcialbym napisac takie zapytanie aby podalo mi najwyzszy numer faktury
czyli w tym przypadku H/40/02/2005
czyli 40 faktura w lutym 2005.

order by numer desc nie daje pozadanego efektu sad.gif
Draugfor
  1. SELECT max(numer)
  2. FROM fak;

Pozdrawiam. smile.gif
rogeros
Niestety nie rozwiazuje to mojego problemu. sad.gif

Efekt jest taki sam jak order by numer desc.
pokazuje mi numer faktury a sa niestety wyzsze numery
amwoan
Tak na szybko wymyślony sposób:
  1. SELECT numer, SUBSTRING_INDEX(SUBSTRING_INDEX(numer, '/', 2), '/' , -1) + 0 AS num
  2. FROM faktury ORDER BY num DESC

Polega on na wyciągnięciu odpowiedniego stringa spomiędzy dwóch znaków '/', zrzutowaniu go na liczbę (po to jest +0) a następnie posortowaniu rekordów wg tego pola.

Mam nadzieję, że pomoże.
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.