使用 LEAST()函数可以简洁地在一行SQL语句中找出多个值中的最小值,但在SQLServer数据库中,没有内置的LEAST函数。
我们可以使用values子句创建临时的数据集的办法,返回多列数据中的最小值。
创建表
CREATE TABLE students (
id INT,
music INT,
pe INT
);
表中添加数据如下
使用values子句创建临时的数据集,将每行数据构造为只有一个字段的表,再求最小值
SELECT ID ,
( SELECT MIN(score)
FROM ( VALUES (music), (pe)) AS xx ( score )
) AS MinScore
FROM students
运行结果如下