我必須根據日期時間,以15分鐘時間段,30分鐘時間段和1小時爲基礎對數據進行分類。我寫了這樣的查詢1小時插槽,如何在每15分鐘的時間段內獲取最高記錄?
select
a.datetime, feederid,
vr, vy, vb
from (
select datetime,feederid, vr, vy, vb, tt, DENSE_RANK() OVER (
partition by dateadd(hour, datediff(hour, 0, datetime), 0), feederid
ORDER BY feederid,datetime
) rank1
from pseb.dbo.datasource
where
convert(datetime,datetime) between '2011-06-12' and '2011-06-12 23:59:00'
) a
where rank1 = 1
,但我不知道如何爲15分鐘槽值分區數據。
我的表ResultSet是這樣
DATETIME FeederID VR VY VB
2011-06-12 00:09:50 4731 199.148 0 212.69
2011-06-12 00:05:31 4731 178.531 0 242.838
2011-06-12 00:36:20 4731 174.622 0 239.756
2011-06-12 01:10:03 4731 175.645 0 240.328
2011-06-12 13:10:07 4731 196.387 76.991 241.798
2011-06-12 18:35:46 4731 207.719 54.756 251.855
這裏00:00到15:00分鐘插槽有2條記錄,我需要的頂部1 ORDER BY日期時間遞減。
幫助我做到這一點。
我可以這樣寫查詢你。我每小時收費100美元,最低收費時間爲兩小時,預付費。你有貝寶? – 2013-02-22 06:32:13
@Saranya:對這個問題的看法是沒有出現試圖自己解決它的結果。這裏的問題應該包含你試圖發生什麼,發生了什麼以及你的期望的細節。 – halfer 2013-02-22 07:09:29
太棒了!在你的問題中編輯這個評論,下次你提問時,請記住添加一個類似的詳細程度':)'。除此之外:我的個人資料中有一個「如何提問」指南,這可能會對您有所幫助。 – halfer 2013-02-22 07:27:19