Wie finde ich das Maximum (oder Minimum) von zwei Ganzzahlen in Postgres / SQL? Eine der ganzen Zahlen ist kein Spaltenwert.
Ich werde ein Beispielszenario geben:
Ich möchte eine Ganzzahl von einer Spalte (in allen Zeilen) subtrahieren, aber das Ergebnis sollte nicht kleiner als Null sein. Zunächst habe ich also:
UPDATE my_table
SET my_column = my_column - 10;
Dies kann jedoch einige der Werte negativ machen. Was ich möchte (im Pseudocode) ist:
UPDATE my_table
SET my_column = MAXIMUM(my_column - 10, 0);
postgresql
HRJ
quelle
quelle
Antworten:
Schauen Sie sich GREATEST und LEAST an .
quelle
Sie möchten die Inline-SQL
case
:max()
ist eine Aggregatfunktion und erhält das Maximum einer Zeile einer Ergebnismenge.Edit: oops, wusste nichts über
greatest
undleast
in postgres. Verwenden Sie das stattdessen.quelle