2012-07-27 207 views
0

我的任務是創建一個SQL查詢(有限的知識),將顯示我的一天中的最高溫度和最低溫度。數據庫中的信息具有每20秒的點值和時間戳。我只想看看每一天的最高溫度。SQL Server查詢最大和最小值

我知道該怎麼做MAX和MIN:

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

SELECT 
    MAX (pv) 
FROM 
    plexxium201.dbo.pv_history 

我只是有問題,因爲有每20秒項一天。任何幫助,將不勝感激。

回答

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) 

還有一種方法可以用窗口來做到這一點 - 但我認爲這將滿足您的需求。

+0

我不確定這會工作,我的日期格式如:yyyy-mm-dd hh:mm:ss(全部在同一列中) – user1558884 2012-07-27 23:21:55

+0

這是一個日期時間列嗎?如果沒有,你可以使用convert來創建日期時間 - 如果是日期時間,你會沒事的。 – Hogan 2012-07-27 23:23:18

+0

是的,這是一個日期時間欄 – user1558884 2012-07-27 23:26:50

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支持這一與「日期」數據類型。

+0

或按日期排序。 – 2012-07-29 07:12:18

相關問題