我正在使用包含每個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. PHP如何從時間戳獲得日/時間的時間戳
- 2. 如何從PHP日期時間獲得unix時間戳?
- 3. 如何從Android的GPS位置獲得準確的時間戳
- 4. 如何從postgres獲取時間戳作爲時間戳?
- 5. 從日期時間到時間戳python
- 6. 如何獲得當前時間戳
- 7. 如何獲得張貼的時間戳?
- 8. 如何獲得UNIX時間戳淨
- 9. 從時間戳獲取本地時間
- 10. 獲得最後從MySQL時間戳
- 11. 獲得總從某個時間戳
- 12. PHP - 如何獲得時間戳的持續時間?
- 13. 如何獲得上個月特定時間的Unix時間戳
- 14. 如何獲得發件人時間的時間戳郵件
- 15. 如何從日期時間戳得到時間和日期
- 16. 從服務器獲取的時間戳本地時間戳
- 17. UTC時間從時間戳
- 18. MediaRecorder在錄製時獲得時間戳
- 19. 如何從網頁獲取時間戳
- 20. 如何從numpy.datetime64獲取unix時間戳
- 21. 如何從Oracle獲取EST時間戳?
- 22. 獲得,因爲特定的時間戳,因爲一個特定的時間戳說,自從20120801185856時間戳
- 23. 如何從UTC時間戳
- 24. 如何從時間戳
- 25. 從PHP獲取時間戳
- 26. 從時間戳
- 27. 從時間戳
- 28. 如何從UTC時間戳得到小時數?
- 29. 從特定時間戳獲取午夜時間戳值
- 30. 如何獲得mysql時間戳和php當前時間之間的差異?
你不應該在SQL中而不是在Python中進行分組和聚合嗎? – Arkadiy