두 개의 관계형 테이블 person과 event_registration이 있으며 10 개 이하의 이벤트에 등록한 모든 사람을 선택하고 싶습니다. 나는 정확한 것으로 보이는 쿼리를 발견했습니다. 그것은 다음과 같은 쿼리를이 사람을 찾을 수 있습니다mysql : 일정한 양의 관계형 행을 가진 사람을 선택하십시오.
SELECT person_id
FROM event_registration
GROUP BY person_id
HAVING COUNT(*) <= 10
주, event_registration.person_id가 person.id 일치하는 테이블 행과 관련이 있습니다. 이제 person 테이블을 검색하는이 쿼리를 사용하고 싶습니다. 그러나 내 쿼리가 mysql을 손상시키는 것처럼 보입니다. 왜?
SELECT id
FROM person
WHERE id IN (
SELECT person_id
FROM event_registration
GROUP BY person_id
HAVING COUNT(*) <= 10
)
나는 다른 속성 보이기 때문에 쿼리가 변경하려는 이유 때문에 같은 (더 가까이하기 위해) 마지막 질의 모양을 뭔가 : 물론이 아무튼의
SELECT *
FROM person
WHERE name LIKE '%something%'
AND AGE > 20
AND id IN (
SELECT person_id
FROM event_registration
GROUP BY person_id
HAVING COUNT(*) <= 10
)
mysql이 충돌하는 것처럼 작동하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
'mysql이 고장났다'는 것은 무엇을 의미합니까? 쿼리가 시간 초과됩니까? –
예 웹 서버 (IIS 7)를 다시 시작할 때까지 쿼리가 시간 초과되어 더 이상 응답하지 않습니다. –