我的任务是创建一个SQL查询(有限的知识),它将在白天显示我的最高温度和最低温度。 db中的信息每20秒使用点值进行时间戳记。我想看看每天的最高温度。
我知道如何做MAX和Min:
SELECT
MIN (pv) As MinimumTemperature
FROM
plexxium201.dbo.pv_history
SELECT
MAX (pv)
FROM
plexxium201.dbo.pv_history
我只是遇到日期问题,因为每天有20秒的条目。任何帮助将不胜感激。
答案 0 :(得分:3)
SELECT MIN (pv) As MinimumTemperature, MAX (pv) as MaxTemp, YEAR(datefield) as year, MONTH(datefield) as month, DAY(datefield) as day
FROM plexxium201.dbo.pv_history
GROUP BY YEAR(datefield), MONTH(datefield), DAY(datefield)
还有一种方法可以通过窗口来实现这一点 - 但我认为这将满足您的需求。
答案 1 :(得分:1)
这样做的一个简单方法是:
select cast(pvh.timestamp as date) as date, min(pv) as mintemp, max(pv) as maxtemp
from plexxium201.dbo.pv_history pvh
group by cast(pvh.timestamp as date)
order by 1
我更喜欢在大多数情况下将日期字段保留为日期,SQL Server支持使用“日期”数据类型。