我有三个十进制列,分别命名为 list1、list2、list3。
我想在单个查询中找到三个中的最小值。
我厌倦了这个:
SELECT Least(list1, list2, list3)
FROM table1
它抛出一个错误,least
is not recognized function。
最佳答案
尝试使用UNION
SELECT MIN(x.a)
FROM
(
SELECT list1 a FROM table1
UNION
SELECT list2 a FROM table1
UNION
SELECT list3 a FROM table1
) x
更新 1
SELECT ID,MIN(x.a)
FROM
(
SELECT ID,list1 a FROM table1
UNION
SELECT ID,list2 a FROM table1
UNION
SELECT ID,list3 a FROM table1
) x
GROUP BY ID
SQLFiddle Demo
关于sql - 选择多列中的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12948329/