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