我正在使用包含每個timestamp
和value
列的記錄的cx_Oracle數據庫。我需要爲每小時存儲的記錄(每天24個插槽:00-01,01-02 ... 23-00)詳細說明avg,min或sum或其他聚合函數(根據配置文件)。每張表都以不同的時間戳開始,可能是十年前或昨天,所以我應該考慮從第一個時間戳的小時開始彙總記錄。假設第一個時間戳是14h:43m:20s,則該記錄將被存儲在14-15插槽中。問題是什麼是計算時間戳相應於該時間戳的下午2點的時間戳的最佳方式?然後我想用一小時的步驟繼續使用timedelta + 1h
算術,並做我所需要的。無論如何,我接受任何建議,如果這不是最好的方式進行。Python 2.6 - 如何從時間戳獲得點位時間
回答
你的問題更多的是SQL而不是python。這是我如何通過SQL獲得平均值(或其他聚合)。
select avg(EXTRACT(HOUR FROM <timestamp>)) as avg_hrs,
min(EXTRACT(HOUR FROM <timestamp>)) as min_hrs,
sum(EXTRACT(HOUR FROM <timestamp>)) as sum_hrs
from <table>;
總和是沒有意義的,但我讓你發現它的用處。 這是計數的另一個查詢。希望這可以幫助。
select EXTRACT(HOUR FROM <timestamp>) as hrs, count(*) as cnt
from <table>
group by EXTRACT(HOUR FROM <timestamp>)
order by 1;
謝謝,我想通過SQL工作,但問題是該表有另一列'名稱',我需要分組,然後按'時間戳'命令。我的意思是'... ORDER BY name,timestamp',並且我必須處理由'timestamp'排序的特定'name'中的所有記錄,然後將它們與聚合函數進行分組。所以,我不能僅通過時間戳進行分組,因爲它們可能屬於不同的「名稱」值。我希望我的意思很清楚。 – Caramelleamare
我試着用這個'select avg(EXTRACT(HOUR FROM 1435047532))as hour',但是返回這個錯誤:_invalid extract field for extract source_我在哪裏錯了? – Caramelleamare
1435047532不是時間戳,而是具有時間戳類型的數據的值。因此,如果您從中獲取HOUR值,那麼它就沒有意義,因爲它不是日期時間戳類型的數據。請給我一個你的表的樣本數據與他們的列名和你想要達到的目標(像這個專欄然後平均這個列..等) – anonyXmous
- 1. 如何從Android的GPS位置獲得準確的時間戳
- 2. 如何從postgres獲取時間戳作爲時間戳?
- 3. 從日期時間到時間戳python
- 4. 如何獲得quickfix時間戳?
- 5. 從時間戳獲取本地時間
- 6. 如何獲得上個月特定時間的Unix時間戳
- 7. 如何從日期時間戳得到時間和日期
- 8. 從服務器獲取的時間戳本地時間戳
- 9. MediaRecorder在錄製時獲得時間戳
- 10. 如何從numpy.datetime64獲取unix時間戳
- 11. 如何從網頁獲取時間戳
- 12. 如何從Oracle獲取EST時間戳?
- 13. 獲得,因爲特定的時間戳,因爲一個特定的時間戳說,自從20120801185856時間戳
- 14. 如何從UTC時間戳
- 15. 從時間戳
- 16. 如何獲得連續時間戳之間差異的BigQuery
- 17. Python的 - 定位最近的時間戳
- 18. 如何從時間戳獲得自定義日期格式php
- 19. 如何獲得基於EST時間天數時的時間戳是GMT
- 20. 如何獲得帶時區縮寫的時間戳值
- 21. 如何獲得這個小時的時間戳範圍?
- 22. 如何在SQL Server時間戳和時間戳之間
- 23. 如何通過從PHP中減去當前時間的前一個時間戳記獲得持續時間?
- 24. Eloquent:只獲得時間戳的日期
- 25. 打字稿時間戳獲得毫秒
- 26. 如何從Python日期時間獲得小時數?
- 27. 帶時區時間戳的時間戳
- 28. 如何將Windows 64位時間戳轉換爲日期時間?
- 29. 從時間戳表
- 30. Perl獲取UTC時間並獲得UTC時間戳之間的差異
你不應該在SQL中而不是在Python中進行分組和聚合嗎? – Arkadiy