Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak pobrać wiele rekordów z warunkiem ostatniego zapisu w jednym polu
Forum PHP.pl > Forum > Bazy danych > MySQL
maraska
Witam.

Jest tabela "baza" gdzie są pola "art" "post" "data".
Każdy "art" ma wiele "post" z kolejnych "dat"

Jak wylistować wszyskie rekordy gdzie "data" jest najwyższa dla danego "art" pomijając wszystkie wcześniejsze?

|art| post| data|
|1 | 12 | 2013-01-01|
|1 | 18 | 2014-01-01|
|1 | 35 | 2015-01-01|
|2 |11 | 2012-01-01|
|2 | 25 | 2014-01-01|

Wynikiem zapytania powinno być

|art| post| data|

|1 | 35 | 2015-01-01|
|2 | 25 | 2014-01-01|

Pozdrawiam
mmmmmmm
  1. SELECT d.* FROM tabela d JOIN (SELECT art, max(DATA) DATA FROM tabela GROUP BY art) sub ON su.DATA=d.DATA AND sub.art=d.art
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.