2014-05-15 5 views
0

나는 cURL 호출을 사용하여 웹 사이트를 사용할 수 있는지 (http 200 코드를 반환하는지) 확인하기 위해 매우 간단한 웹 응용 프로그램을 작성합니다. 현재 SELECT *가있는 도메인을 확인해야합니다. 나는 domain_key (last_checked)와 타임 스탬프가있는 해당 domain_key로 정렬해야한다고 들었다. 이렇게하면 가장 오래된 last_checked 값으로 도메인을 확인할 수 있습니다. 나는 또한 서버가 요청을 처리 들었다MySQL을 선택하고 열을 기준으로 정렬하고 다른 테이블의 다른 키로 정렬

ID | domainID | domain_key | domain_value

:

ID | CREATED | DOMAIN | accountID | server | status

그런 다음 나는 세부 사항 테이블이 : 첫 번째 표는 열이? 그래서 내 질문은 :

어떻게 서버별로 도메인을 주문하거나 그룹화 할 수 있습니까? 하나의 쿼리로 할 수 있습니까? 아니면 특정 서버의 각 도메인 그룹에 대해 별도의 SELECT 문을 사용해야합니까?

+0

이 두 테이블 간의 연결은 무엇입니까? 표 1의 도메인이 표 2의 domainID와 같은가요? 지금까지 해본 SQL은 무엇입니까? – Swagata

+0

예. domainID는 외래 키이며 도메인 테이블의 기본 키입니다. 나는 내가 last_checked에 의해 그들을 주문하기 위해 join 문을 사용할 수 있지만 각 서버 그룹의 맨 위에 가장 오래된 것을 마지막으로 검사 한 서버에 그룹화하는 방법을 궁금해합니다. – bbbbbbbbbb

+0

table1.ID = table2.domainID가 아니라 table1을 의미합니다. .domain = table2.domainID, 맞습니까? 쿼리를 편집하여 테이블 이름 등이있는 SQL JOIN을 추가하십시오. 또한 "가장 오래된 것으로 마지막으로 확인한"은 무엇을 의미합니까? 어느 분야를 언급하고 있습니까? – Swagata

답변

0

선택 도메인, 서버, 도메인 서버가 도메인 그룹에서 last_checked 으로 (최대가 ( domainID = domains.id 및 domain_key이 = 'last_checked'세부에서 (domain_value, 날짜))로 변환 선택);

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 
관련 문제