Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie najnowyszch wyników
matisq
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.06.2008

Ostrzeżenie: (0%)
-----


Mam tabele z takimi kolumnami:

time (timestamp unixowy (123456789))
host_name (nazwa hosta)
srv_dsc (opis servisu)
srv_output (output servisu)

Mam kilka hostów i kilka serwisów. każdy wpis do bazy danych jest unikalny (timestamb, host_name, srv_dsc).
Próbuję wymyślić takie zapytanie żeby dla danego hosta pobrać tylko najnowsze wpisy dotyczące każdego z serwisów, czyli jeśli mam 5 serwisów to jako rezultat dostaję 5 lini itp.

Próbowałem tego ale jakoś wątpie że to zadziała.
  1. SELECT *, MAX(time)
  2. FROM DATA WHERE host_name = "jakis-host"
  3. GROUP BY srv_dsc


Jakieś sugestie?
Dzięki za przeczytanie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
magra
post
Post #2





Grupa: Zarejestrowani
Postów: 34
Pomógł: 8
Dołączył: 5.10.2004

Ostrzeżenie: (0%)
-----


  1. SELECT *
  2. FROM `data` WHERE `host_name` = "jakis-host"
  3. GROUP BY `srv_dsc`
  4. ORDER BY `time` DESC
Go to the top of the page
+Quote Post
sowiq
post
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(magra @ 16.01.2009, 11:19:01 ) *
  1. SELECT *
  2. FROM `data` WHERE `host_name` = "jakis-host"
  3. GROUP BY `srv_dsc`
  4. ORDER BY `time` DESC


Tu masz dobrze napisane. Musisz zmienić tylko jedną rzecz (a dokładnie usunąć cały warunek WHERE). Jakby chciało Ci się popróbować samemu, to już dawno byś do tego doszedł sam.


[edit]
Ew. możesz spróbować
  1. SELECT DISTINCT(srv_dsc)
  2. FROM `data` ORDER BY time DESC


Ten post edytował sowiq 16.01.2009, 15:52:43
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 16:29