2013-04-26 109 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