phpbar.de logo

Mailinglisten-Archive

Wie ermittle ich zu allen verschiedenen Werten is Spalte a den Datensatz m it dem höchst en Wert b?

Wie ermittle ich zu allen verschiedenen Werten is Spalte a den Datensatz m it dem höchst en Wert b?

Christoph 'Le o' Weißenborn chw-le at gmx.de
Mit Jul 28 17:25:37 CEST 2004


Hallo Christian,

der Betreff ist etwas lang.

Zitiere Christian Victor <christian at victormedia.de>:
> Ich habe folgenden Problem. Ich muss eine Art Anwesenheitsliste 
> programmieren wo für jede Person alle Anwesenheitsdaten gespeichert
> werden:
> 
> ID	NAME	DATUM		RAUM
> 1	Peter	2004-07-16	1
> 2	Gabi	2004-06-23	3
> 3	Peter	2004-06-17	3
> 4	Gabi	2004-07-01	2
> 5	Rolf	2004-07-07	1
> 
> 
> Ich möchte jetzt eine Liste mit allen Personen und Ihrem letzten 
> Anwesenheitsdatum und dem jeweiligen Raum bekommen.
> 
> Ist das überhaupt in einer Query möglich? Ich habs mit GROUP BY NAME und
> 
>   MAX(DATUM) versucht aber dann wirft mir MySQL eine irgendeine 
> Raumnummer aus der Gruppe aus und nicht immer die des letzten Datums.

Du schreibst zwar nicht, was Du probiert hast, aber ich denke, daß es eigentlich
recht einfach ist:

  SELECT name, datum, raum
    FORM anwesenheit_tabelle
   WHERE name = variable_0
ORDER BY datum DESC
   LIMIT 1;

DESC bei ORDER BY ist standard, kann also wegfallen.

Vielleicht geht auch die folgende Abfrage (sollte von mysql das gleiche wollen).
Allerdings weiß ich nicht genau, ob das mit dem HAVING so richtig ist.
  SELECT name, datum, raum
    FORM anwesenheit_tabelle
   WHERE name = variable_0
  HAVING datum = MAX(datum);


Beste Grüße,
 Christoph
-- 
Fingerprint=65B7 73B6 5969 AC2B 4572 39A2 0DBC DAC1 3D6A 45B7
email auch: chw- at gmx.de / mai01dzr at ...

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive