2013-10-25 68 views
-1

需要獲取當前小時和上一小時之間的兩個值的差異,如下所述。Mysql發現當前小時和最後一小時之間的差異並使用當前小時行打印

作爲第一步,我試圖找出當前的小時值,但不知道如何從中減去第二最後一小時值,並伴隨着當前時間顯示行

 
    select mmeName,startDate,max(startTime),endDate,max(endTime),c_ratio,set_time 

    from attach 

    where type='INIT' and endDate=Date(now()) 

    group by mmeName 

我現有的表格式和要求輸出捕獲在附加的圖像。

任何幫助/建議,將不勝感激!

enter image description here

+1

什麼是last_diff和last_diff_2? – bksi

+0

可能重複的[mysql檢索當前和最後一小時之間的區別](http://stackoverflow.com/questions/19592983/mysql-retrieve-difference-between-current-and-last-hour) –

+0

last hr diff is col- F(c_ratio of current_hour - last_hour)和類似的最後一個hr diff2是Col-G(set_time) – Siva

回答

0

假設你已經在你的表自動遞增的ID,嘗試此查詢:

SELECT a1.mmeName, a1.c_ratio, a1.set_time, a0.c_ratio - a1.c_ratio AS last_hr, a0.set_time - a1.set_time AS last_hr_2 
FROM attach a1 
JOIN attach a0 ON a0.id = (SELECT MAX(id) FROM attach WHERE id < a1.id AND mmeName = a1.mmeName) 

在此查詢,a1指當前行,而a0指上一行與mmeName相同。然後,你可以像這樣建立像last_hr這樣的字段:a0.c_ratio - a1.c_ratio

如果你只需要每一個mmeName一行,你將不得不總計差額,並GROUP BY mmeName

+0

不幸的是我沒有在我的表中自動增加id :( – Siva

+1

然後,你怎麼能排列行?你的主鍵是什麼? –

+0

我是一個新手到mysql。請耐心等待!我將修改我的表,以包含一個新的列'id'作爲主鍵! – Siva

相關問題