Disons que j'ai une table comme celle-ci:
name | score_a | score_b
-----+---------+--------
Joe | 100 | 24
Sam | 96 | 438
Bob | 76 | 101
... | ... | ...
Je souhaite sélectionner le minimum de score_a et score_b. En d'autres termes, quelque chose comme:
SELECT name, MIN(score_a, score_b)
FROM table
Les résultats, bien sûr, seraient:
name | min
-----+-----
Joe | 24
Sam | 96
Bob | 76
... | ...
Cependant, quand j'essaye ceci dans Postgres, j'obtiens, "Aucune fonction ne correspond au nom et aux types d'argument donnés. Vous devrez peut-être ajouter des transtypages de types explicites." MAX () et MIN () semblent fonctionner sur les lignes plutôt que sur les colonnes.
Est-il possible de faire ce que j'essaye?
MAX()
de deux valeurs, c'estGREATEST(a, b)
:)