Jak znaleźć maksimum (lub minimum) dwóch liczb całkowitych w Postgres / SQL? Jedna z liczb całkowitych nie jest wartością kolumny.
Podam przykładowy scenariusz:
Chciałbym odjąć liczbę całkowitą z kolumny (we wszystkich wierszach), ale wynik nie powinien być mniejszy niż zero. Na początek mam:
UPDATE my_table
SET my_column = my_column - 10;
Ale może to spowodować, że niektóre wartości będą ujemne. Chciałbym (w pseudokodzie):
UPDATE my_table
SET my_column = MAXIMUM(my_column - 10, 0);
postgresql
HRJ
źródło
źródło
Odpowiedzi:
Spójrz na NAJWIĘKSZE i NAJMNIEJ .
źródło
Chcesz wbudowanego sql
case
:max()
jest funkcją agregującą i pobiera maksimum wiersza w zestawie wyników.Edit: ups, nie wiedział o
greatest
ileast
w PostgreSQL. Użyj tego zamiast tego.źródło