如何从PostgreSQL中的行级(不在列中)获取最小值,最大值.
postgresql> SELECT * FROM employee;
+------+------+------------+--------------------+
| id | name | q1 | q2 | q3 | q4 |
+------+------+------------+--------------------+
| 1 | John | 20 | 30 | 10 | 4 |
| 2 | Ram | 07 | 10 | 03 | 04 |
| 3 | John | 05 | 03 | 15 | 40 |
| 4 | Sree | 12 | 05 | 20 | 25 |
Run Code Online (Sandbox Code Playgroud)
我需要单选择查询来获取最小值和最大值.怎么解决这个问题. 条件是(其中id = 4)但我需要的结果是最小值为05,最大值为25来自员工表.
我建议使用LEAST和GREATEST函数.这是一个参考.
您想要的查询只需选择id,并将每列插入这两个函数,如下所示:
SELECT id, name,
LEAST(q1, q2, q3, q4) AS minValue,
GREATEST(q1, q2, q3, q4) AS maxValue
FROM employee
WHERE id = 4;
Run Code Online (Sandbox Code Playgroud)
这是SQL小提琴.
编辑
我也尝试使用PostgreSQL小提琴,但两者都有效.