-- 按行取表两个字段的最小值(最大值、平均值等等如法炮制)。
select *,(select MIN(f) from (values (F0001),(F0002)) as ss(f)) from T00001
-- 按行取表三个字段的最小值(最大值、平均值等等如法炮制)。
select *,(select MIN(f) from (values (F0001),(F0002),(F0003)) as ss(f)) from T00001
-- 列F0001,F0002中的平均值与F0003的和:
select *,(select AVG(f) from (values (F0001),(F0002)) as ss(f))+F0003 from T00001
--- 2019-03-18
--- 不能用values来构成select结果表,但可以用union来构建
select * from T00001
select MIN(f) from (values (21),(22)) as ss(f)
select MIN(f) from (values ('TC0002'),('TC0003')) as ss(f)
select MIN(f) from (values (21),(select COUNT(*) from t00001)) as ss(f) -- CANNOT
select MIN(f) from (select (21) as ff union (select COUNT(*) from t00001)) as ss(f) -- OK

博客围绕SQL Server展开,介绍了按行取表中两个或三个字段的最小值、最大值、平均值等操作的SQL语句,还给出列中平均值与另一列求和的语句。同时指出不能用values构成select结果表,但可用union构建,并给出相应示例。

3225

被折叠的 条评论
为什么被折叠?



