Nehmen wir an, ich habe einen Tisch wie diesen:
name | score_a | score_b
-----+---------+--------
Joe | 100 | 24
Sam | 96 | 438
Bob | 76 | 101
... | ... | ...
Ich möchte das Minimum von score_a und score_b auswählen. Mit anderen Worten, so etwas wie:
SELECT name, MIN(score_a, score_b)
FROM table
Die Ergebnisse wären natürlich:
name | min
-----+-----
Joe | 24
Sam | 96
Bob | 76
... | ...
Wenn ich dies jedoch in Postgres versuche, wird Folgendes angezeigt: "Keine Funktion entspricht dem angegebenen Namen und den angegebenen Argumenttypen. Möglicherweise müssen Sie explizite Typumwandlungen hinzufügen." MAX () und MIN () erscheinen Arbeit über Zeilen statt Spalten.
Ist es möglich zu tun, was ich versuche?
quelle
MAX()
zwei Werte brauchen , ist esGREATEST(a, b)
:)Hier ist der Link zu Dokumenten für die
LEAST()
Funktion in PostgreSQL:http://www.postgresql.org/docs/current/static/functions-conditional.html#AEN15582
quelle
Sie können die Antwort erhalten, indem Sie diese Daten in eine Spalte wie die folgende einfügen:
Hier setzen wir den Mindestwert unter
score_a
undscore_b
und drucken ihn aus, indem wir diesen Wert in einer Spalte mit dem Namen speichernminimum_score
.quelle
min(expression)
ist vorhanden. Definition aus dem Dokument: Mindestwert des Ausdrucks über alle Eingabewerte mit "Ausdruck" ist eine beliebige Zahl, Zeichenfolge, Datum / Uhrzeit, Netzwerk oder Aufzählungstyp oder Arrays dieser Typen