簡體   English   中英

匯總MySQL數據庫上的單行值

[英]Summarize single row values on a MySQL database

我有一個包含一些天氣數據的MySQL數據庫,其結構如下:

DATA                TEMP    UM  RAIN
2017-05-16 10:00    13.2    80  0.0
2017-05-16 10:05    13.1    81  0.1
....
2017-05-16 23:55    2.1     90  0.5
2017-05-17 00:00    2.1     91  0.0
2017-05-17 00:05    2.1     91  0.5

對於每個步驟間隔(5分鍾),我都有一些數據。 雨量是這些步驟中累積的總值。 我需要一個新列,其每日累進值從00:00到23:55。 在最后的每日數據(23:55)上,我必須當天總降雨量,並且在00:00時計數器必須從0.0重新開始。 例如:

DATA                TEMP    UM  RAIN
2017-05-16 10:00    13.2    80  2.1
2017-05-16 10:05    13.1    81  2.2
....
2017-05-16 23:55    2.1     90  12.2
2017-05-17 00:00    2.1     91  0.0
2017-05-17 00:05    2.1     91  0.5

我需要使用PHP或直接在MySQL中執行此操作的最佳解決方案。 謝謝

您可以使用變量在單個SQL查詢中完成此操作:

SELECT DATA, TEMP, UM,
       @r := IF(TIME(DATA) = '00:00:00', RAIN, RAIN + @r)
FROM mytable 
CROSS JOIN (SELECT @r := 0.0) AS v
ORDER BY DATA;

查詢使用TIME以便從datetime字段中提取時間部分。

在這里演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM