2014-05-15 61 views
0

我正在构建一个非常简单的Web应用程序,以检查网站是否可用(返回http 200代码)使用cURL调用。我需要得到的域被检查,我目前有一个SELECT *。我被告知需要使用具有时间戳的相应domain_key按domain_key(last_checked)进行排序。这样我们可以用最旧的last_checked值来检查域。第一个表有以下栏目:如何MySQL选择和按列排序并按另一个表中的另一个键排序

ID | CREATED | DOMAIN | accountID | server | status

然后,我有一个细节表:

ID | domainID | domain_key | domain_value

我也被告知要处理由服务器的请求?所以我的问题是:

我该如何命令或分组服务器域?有可能在一个查询中完成,或者我需要为特定服务器上的每个域组使用单独的SELECT语句吗?

+0

这两个表之间的连接是什么?表1的域是否等于表2的域ID?你到目前为止尝试过哪些SQL? – Swagata

+0

是的。 domainID是外键,是域表的主键。我知道我可以使用join语句通过last_checked来命令它们,但我想知道如何通过服务器将它们分组,然后在每个服务器组顶部检查最旧的最后一个 – bbbbbbbbbb

+0

您的意思是table1.ID = table2.domainID而不是table1 .domain = table2.domainID,对吗?请编辑您的查询以添加SQL JOIN以及表名等。此外,您是指“最早的最后一次检查”是什么意思?你指的是哪个领域? – Swagata

回答

0

选择域,服务器,(选择最大值(转换从那里 域ID = domains.id和domain_key = 'last_checked' 细节(domain_value,日期时间)))由域,服务器从域组作为last_checked ;

0

这是否符合您的要求?

select domain, server, 
(select max(convert(domain_value, datetime)) from details 
where domainID = domains.id and domain_key = 'last_checked') as last_checked 
from domains order by server, last_checked desc 
相关问题