2016-07-27 134 views
-1

我有一個Postgresql數據庫,其中包含一個用於時間戳的列和一個用於讀取的列。我有幾個讀數每秒。我想返回任何給定秒鐘的最高讀數。我有一個查詢來提取我喜歡的格式的時間戳,並提取權力,但我不知道如何過濾以獲得最高的權力閱讀。從Postgresql中的時間序列中提取最大值

例如:

[ts1 second = 5] [reading = 3] 
[ts2 second = 5] [reading = 5] 

我想查詢返回[ts2 second = 5] [reading = 5],在列中的每個唯一的第二。

我的問題的一部分是時間戳包括毫秒,我希望是第二個唯一。

+0

這看起來像是一個普通的使用max,group by和order by。你有什麼困難?你有什麼嘗試? –

+0

@JorgeCampos - 我很高興知道這很容易,謝謝。我仍在試驗。我到目前爲止只在Postgresql中使用基本查詢,所以這對我來說是先進的:) –

+0

這將是:'從第二限制1'選擇第二,最大(讀取)來自yourtable組,不需要訂單。 .. –

回答

1
SELECT "ts2 second" , MAX("reading") 
FROM yourTable 
GROUP BY "ts2 second" 
0
select second, 
     max(reading) 
    from yourtable 
group by second 
limit 1 

limit 1是讓只有一個結果。

相關問題