Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlanie specyficznych wyników...
Forum PHP.pl > Forum > Bazy danych > MySQL
patigo
Witam

Może ktoś z was jest mi w stanie pomóc?

Jest tabela1:

id | nr | data | zawodnik
--------------------------------
1 | 1 |2003-01-01 | janek
2 | 1 |2004-01-02 | zbysiu
3 | 1 |2004-01-15 | maciek
4 | 2 |2003-12-05 | ala

i teraz potrzebuje pobrać z takiej bazy datę ale wyświetlam ją jako sam rocznik a nie całość jak w bazie np. 2004 . dla takich kryteriów ( nr=1 ) potrzebuję aby wynik zapytania zwrócił mi unikalne daty względem roku. czyli np jak w bazie jest dla nr=1 5 różnych dat zaczynających się od np.2004 i 7 dat zaczynających się na 2003 to wynik powinien być 2 czyli 2004 i 2003. Jest to możliwe? ja leżę i kwiczę:) moje pomysły się już wyczerpały niektóre wyglądały tak:
  1. SELECT count(DISTINCT DATA) AS total
  2. FROM tabela1 WHERE nr=1
Skobi
Możesz zrobić tak:

  1. SELECT DISTINCT Year(DATA)
  2. FROM tabela1;


powinno zadziałać.
patigo
Działa , dzięki.
ale znalazłem też jednak własne rozwiązanie:)

zrobiłem coś takiego:
  1. SELECT DISTINCT LEFT(DATA, 4)
  2. FROM tabela1 WHERE nr =1


Nie wiem tera tylko które z zapytań jest bardziej wydajne:)
ale najważniejsze że działa:)
Skobi
nasuwa mi sie jedna uwaga, jak kiedys z jakis powodów zmienisz rok na np.:
04 zamiast 2004 bedziesz musial zmieniac zapytanie, a jak tego typu zapytanie bedziesz mial kilka to bedziesz to zmienial w kilku miejscach. W mojej propozycji chyba to zadziala poprawnie choc nie wiem na pewno.
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.