Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zapytać MYSQL, by wyslekcjonować jedną najnowszą daną.
Forum PHP.pl > Forum > Bazy danych > MySQL
pojke22
Witam jestem tu świeżak.

Mam taką oto tabele. Są to ceny paliw na stacjach.

Kod
ID   |  Nazw   |  cena  |        data wpisu         |
-----------------------------------------------------
1.   |      a     |   4.50  | 2011-04-28 19:00:00 |
2.   |      b     |   4.23  | 2011-04-26 19:00:00 |
3.   |      b     |   4.45  | 2011-04-27 19:00:00 |
4.   |      a     |   4.45  | 2011-04-25 19:00:00 |


Kompletnie nie wiem jak zrobić, aby zapytanie do bazy, by wyświetlić taki wynik

Kod
ID   |  Nazw   |  cena  |        data wpisu         |
-----------------------------------------------------
1.   |      a     |   4.50  | 2011-04-28 19:00:00 |
3.   |      b     |   4.45  | 2011-04-27 19:00:00 |


Czyli musi byc po jednej stacja i do tego z najnowszą datą aktualizacji.

Bardzo proszę was o pomoc.
kefirek
  1. SELECT * FROM (
  2. SELECT * FROM paliwa ORDER BY data_wpisu DESC
  3. ) AS tab GROUP BY nazw
pojke22
Kefirek świetnie tylko, jak wykonuje twój kod to stacje są selekcjonowane, ale sortowane są wg. nazwy. A ja bym wolał by odbywało sie to wg. daty. czyli najnowsza data trafia na gore tabeli.

Jestem totalnie zielony w mysql-u
pmir13
Dosłownie przed chwilą napisałem odpowiedź na bardzo podobne pytanie:
Temat: MySQL Najnowsze zdjecia w kazdym albumie
Wystarczy pozamieniać nazwę tabeli sk_cms_albums_photos->ceny_paliw_na_stacjach czy jak tam masz ją nazwaną,
datę wg której sortujemy: date->data_wpisu,
oraz pole wg którego grupujemy: aid->nazwa_stacji.
pojke22
  1. SELECT p.id,stacja,adres,pb95,pb98,olej,lpg,DATA FROM (SELECT stacja,max(DATA) AS DATA FROM stacjepaliw GROUP BY stacja) p1 JOIN stacjepaliw p ON p.id = (SELECT pu.id FROM stacjepaliw pu WHERE pu.stacja = p1.stacja AND pu.date = p1.DATA LIMIT 1)


Co tu jest zatem źle?
pmir13
Zapytanie z poprzedniego wątku działa po zwykłej automatycznej zamianie z każdego edytora obsługującego replace.
Jeśli już bardzo chcesz wymienić konkretne kolumny do wyświetlania, to naturalne jest, że zamieniasz p.* na p.nazwa, a nie na samą nazwę.
Tego właśnie brakuje, a także pomyliłeś date z data.
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.