Bagaimana cara menemukan maksimum (atau minimum) dari dua bilangan bulat di Postgres / SQL? Salah satu bilangan bulat bukan nilai kolom.
Saya akan memberikan contoh skenario:
Saya ingin mengurangi bilangan bulat dari kolom (dalam semua baris), tetapi hasilnya tidak boleh kurang dari nol. Jadi, untuk memulai, saya punya:
UPDATE my_table
SET my_column = my_column - 10;
Tetapi ini dapat membuat beberapa nilai menjadi negatif. Yang saya inginkan (dalam kode pseudo) adalah:
UPDATE my_table
SET my_column = MAXIMUM(my_column - 10, 0);
postgresql
HRJ
sumber
sumber
Jawaban:
Silahkan lihat di GREATEST and LEAST .
sumber
Anda ingin inline sql
case
:max()
adalah fungsi agregat dan mendapatkan maksimum satu baris dari set hasil.Sunting: oops, tidak tahu tentang
greatest
danleast
di postgres. Gunakan itu sebagai gantinya.sumber