我对一天的数据进行查询(一小时记录一次,一天有24条数据),想在返回列的最后一条数据后面添加一列字符串显示最大值,最小值,平均值以及求和应该怎么做呀?
效果类似图片这样的
我对一天的数据进行查询(一小时记录一次,一天有24条数据),想在返回列的最后一条数据后面添加一列字符串显示最大值,最小值,平均值以及求和应该怎么做呀?
效果类似图片这样的
参考GPT和自己的思路,你可以使用UNION ALL将查询结果合并到一起,然后在最后一行添加聚合函数来计算最大值、最小值、平均值和求和,并添加标签列来说明这些值的含义。
以下是一个示例查询,假设有一个名为daily_data的表,其中包含datetime和value两列:
SELECT CONVERT(varchar(10), datetime, 120) AS Date,
CONVERT(varchar(2), datetime, 108) AS Hour,
value
FROM daily_data
WHERE datetime >= '2022-02-01' AND datetime < '2022-02-02'
UNION ALL
SELECT 'Total', '', MAX(value)
FROM daily_data
WHERE datetime >= '2022-02-01' AND datetime < '2022-02-02'
UNION ALL
SELECT 'Total', '', MIN(value)
FROM daily_data
WHERE datetime >= '2022-02-01' AND datetime < '2022-02-02'
UNION ALL
SELECT 'Total', '', AVG(value)
FROM daily_data
WHERE datetime >= '2022-02-01' AND datetime < '2022-02-02'
UNION ALL
SELECT 'Total', '', SUM(value)
FROM daily_data
WHERE datetime >= '2022-02-01' AND datetime < '2022-02-02'
这将返回类似以下的结果:
Date Hour value
---------- -- -----
2022-02-01 00 12.4
2022-02-01 01 11.9
2022-02-01 02 12.2
2022-02-01 03 12.6
2022-02-01 04 12.3
2022-02-01 05 11.7
2022-02-01 06 11.8
2022-02-01 07 12.1
2022-02-01 08 11.9
2022-02-01 09 12.4
2022-02-01 10 12.2
2022-02-01 11 12.1
2022-02-01 12 11.9
2022-02-01 13 12.3
2022-02-01 14 11.8
2022-02-01 15 12.2
2022-02-01 16 12.1
2022-02-01 17 12.3
2022-02-01 18 12.0
2022-02-01 19 12.1
2022-02-01 20 12.2
2022-02-01 21 12.4
2022-02-01 22 12.0
2022-02-01 23 11.9
Total 12.6
Total 11.7
Total 12.06
Total 289.5
这是个示例,你把你的数据带入应该是你要的的效果。