SQL Server查询MAX和Min

时间:2012-07-27 23:15:17

标签: sql-server sql-server-2008

我的任务是创建一个SQL查询(有限的知识),它将在白天显示我的最高温度和最低温度。 db中的信息每20秒使用点值进行时间戳记。我想看看每天的最高温度。

我知道如何做MAX和Min:

SELECT 
    MIN (pv) As MinimumTemperature
FROM 
    plexxium201.dbo.pv_history

SELECT  
    MAX (pv)
FROM 
    plexxium201.dbo.pv_history

我只是遇到日期问题,因为每天有20秒的条目。任何帮助将不胜感激。

2 个答案:

答案 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支持使用“日期”数据类型。