Maximum+andere Spalten anzeigen

UserXY

Grünschnabel
Hallo,
ich habe eine Tabelle, die wie folgt aufgebaut ist:
Titel Jahr
BuchA 2000
BuchB 2003
BuchC 2001
... ...

Ich möchte das neueste Buch und das älteste Buch ausgegeben haben mit Jahr und Titel.
Die Abfrage:
SELECT Titel, max(Jahr) FROM buch group by Jahr;
liefert nicht das gewünschte Ergebniss.
Habe es auch schon mit allen anderen Varianten probiert (Inner Join,Union...) hat nix geklappt.
Wäre für Tipps dankbar.
 
Zuletzt bearbeitet:
Was Du auf jeden Fall machen kannst:

PHP:
//für das neueste Buch
SELECT Titel, Jahr FROM buch ORDER BY Jahr DESC LIMIT 1;

//für das älteste Buch
SELECT Titel, Jahr FROM buch ORDER BY Jahr ASC LIMIT 1;
 
Zusammenfassen

Hey,
zunächst danke für die Antwort. Diese Möglichkeit habe ich mir auch schon überlegt, aber leider muss ich ja den größten und den kleinsten Wert in eine einzige Anfrage packen. Ist dies überhaupt möglich?
 
Du meinst, du willst die beiden Ergebnisse in einer Tabelle zurückbekommen?
Code:
SELECT Titel, Jahr FROM buch ORDER BY Jahr DESC LIMIT 1;
UNION
SELECT Titel, Jahr FROM buch ORDER BY Jahr ASC LIMIT 1;
 
Ich hab grad mal das von Gorcky probiert. Bei mir funktioniert das allerdings nur so:

PHP:
(SELECT jaar FROM instellingen ORDER BY jaar DESC LIMIT 1) 
UNION 
(SELECT jaar FROM instellingen ORDER BY jaar ASC LIMIT 1) 
ORDER BY jaar

Die Syntax ist also ein klein wenig anders. Und das letzte ORDER BY kannste auch weglassen, so wird nur noch das Endergebnis sortiert.

Ansonsten ne gute Frage...wusste ich auch noch nicht :)
 
Zurück