Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wybieranie ostatniej wyceny
Forum PHP.pl > Forum > Bazy danych > MySQL
grzegorzch
Witam

mam tabelę:
CODE

id | fun | date | value
-------------------------------
1 | FUN1 | 2009-01-01 | 100.01
2 | FUN1 | 2009-01-02 | 100.11
3 | FUN1 | 2009-01-03 | 100.21
4 | FUN1 | 2009-01-04 | 100.31
5 | FUN2 | 2009-01-01 | 110.01
6 | FUN2 | 2009-01-02 | 110.11
7 | FUN2 | 2009-01-03 | 110.21
8 | FUN2 | 2009-01-04 | 110.31
9 | FUN3 | 2009-01-01 | 130.31
10 | FUN3 | 2009-01-02 | 129.11
11 | FUN3 | 2009-01-03 | 128.21
12 | FUN3 | 2009-01-04 | 125.31
13 | FUN3 | 2009-01-05 | 124.31
-------------------------------


tabela zawiera wyceny funduszy inwestycyjnych z poszczególnych dni.
Jak wyświetlić wszystkie fundusze z bazy ale tylko z ich najnowszymi dostępnymi wycenami.
czyli w chcę uzyskać następujący wynik:

CODE

id | fun | date | value
-------------------------------
4 | FUN1 | 2009-01-04 | 100.31
8 | FUN2 | 2009-01-04 | 110.31
13 | FUN3 | 2009-01-05 | 124.31
-------------------------------


Próbowałem używać GROUP BY fun

SELECT fun, MAX(date), value FROM tabela GROUP BY fun

ale wycena (value) nie odpowiada wyświetlonej dacie.
otrzymuję coś takiego:
CODE

id | fun | date | value
-------------------------------
4 | FUN1 | 2009-01-04 | 100.01
8 | FUN2 | 2009-01-04 | 110.01
13 | FUN3 | 2009-01-05 | 130.31
-------------------------------
blooregard
Cytat
SELECT fun, MAX(date), value FROM tabela GROUP BY fun

Bo wybierasz najświerzszą datę, a nie wartosć.
Chyba chodziło Ci o MAX(value).
Tibod
Piszę bez prób, ale powinno działać.
  1. SELECT * FROM (SELECT fun, date, value FROM tabela ORDER BY DATA DESC) AS tmp GROUP BY fun;
grzegorzch
Cytat(blooregard @ 22.03.2009, 16:13:50 ) *
Bo wybierasz najświerzszą datę, a nie wartosć.
Chyba chodziło Ci o MAX(value).

Interesuje mnie właśnie najświeższa data i wycena (value) z tej daty.

Cytat(Tibod @ 22.03.2009, 16:14:29 ) *
Piszę bez prób, ale powinno działać.
  1. SELECT * FROM (SELECT fun, date, value FROM tabela ORDER BY DATA DESC) AS tmp GROUP BY fun;


Właśnie o to mi chodziło. Dzięki. działa poprawnie.
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.