2013-04-26 134 views
0

所以我想確定自一段時間(與時間戳相比)以來發生了多少小時,然後想要了解自該時間戳以來有多少條記錄(它們已完成每小時)並將兩者分開得到一個百分比。這兩個查詢是這樣的:需要結合2個mysql查詢

表設計:

歷史--table
--id --column與設備ID#
--time --DateTime場的時間條目作出

查詢1:

SELECT ID, min(TIME), timestampdiff(HOUR,NOW(), TIME) as uphours from Historical group by id 

查詢2(儘管這個查詢是如何寫的,我想它做它在表中的所有的ID):

SELECT count(*) from Historical where ID 1 

然後最後一部分將是:

uphours/secondQuery_return_value as Percentage 

有人可以幫助我瞭解如何將這些查詢組合?

+0

你可以發表該表的架構嗎?我不清楚你的意思是什麼「(儘管如何寫這個查詢,我希望它可以爲表中的所有ID做這件事)「 - 也許有點樣本數據和期望的輸出 – 2013-04-26 15:38:41

回答

2

嘗試類似:

SELECT ID, min(TIME), (timestampdiff(HOUR,NOW(), min(TIME))/count(*)) as Percentage 
from Historical 
group by id 

編輯:馬克·班尼斯特提到的,應當更有意義的改變TIMEmin(TIME)的百分比,否則它不會之間的實際差異和現在最古老的時間...

+1

這看起來真的很棒是,讓我給它一個旋風。 – 2013-04-26 15:40:50

+0

它的工作原理非常出色......現在我想知道我是否還可以再組合兩個...還有一個問題,我的工作將會完成。 – 2013-04-26 15:49:13

+0

@ Damien.Bell我很高興它的工作原理,你應該能夠儘可能多地組合,只要確保它們按照相同的標準分組即可...... – DarkAjax 2013-04-26 15:54:44