在 SQL 聚合函数中手动添加额外的数字

问题描述

TempC
----
32
27
36
30
SELECT STDEV(TempC) 
FROM myTable 
WHERE Time BETWEEN dateadd(HOUR,-4,GETDATE()) AND GETDATE()

在上表中,我可以使用 STDEV() 函数轻松获得标准差,但现在我想在计算标准差之前添加一个额外的数字到表中。额外的数字不是来自数据库,而是在 sql 查询中手动写入。

TempC
----
32
27
36
30
37 (manually added number)

我怎样才能有效地做到这一点?

解决方法

使用UNION ALL手动添加需要的值

SELECT STDEV(TempC) 
FROM   (
           SELECT TempC FROM myTable
           UNION ALL
           SELECT TempC = 37
       ) T