2012-09-26 2 views
1

에 의해 + 그룹 수 : 두 개의 열을 가지고, '이메일'과 ' 이메일 ','FULL_NAME '과'주소 '를내부에 가입 + 내가 두 테이블</p> <p>1) results_dump이 문제는 내부의 결과를 그룹화/계산 한</p> <p>조인하고있어

첫 번째 목표는이다 : 결과', 세 개의 열이있는

2) all_data (결과 값 중 하나를 "열기"또는 "바운스"할 수있다) ' result_dump 테이블을 쿼리하고 결과가 특정 "전자 메일"에 대해 "열린"횟수를 세고 그룹화합니다. .

이 쿼리가 잘 작동 : 그것은 (이상 3 시간 후 "열기"사람을) 그 결과를 타고 'FULL_NAME'과 '주소'에 끌어

select `email`, count(*) as count 
from `result_dump` 
where `date` = "open" 
group by `email` 
having count(*) >3 
ORDER BY count DESC 

두 번째 목표 그래서 나는 것 누가 3 번 이상 이메일을 연 사람에 대한 세부 정보.

나는이 쿼리를 가지고 있으며, 데이터를 수집하는 것으로까지 작동합니다.하지만 COUNT, HAVING 및 ORDER를 INNER JOIN과 함께 사용하는 방법을 알 수는 없습니까?

SELECT * 
FROM all_data 
INNER JOIN result_dump ON 
all_data.email = result_dump.email 
where `result` = "open" 

어떤 도움을 내가 생각하는이 하나의 잘못 큰

+0

잘 그룹화 가능한 개체를 참조해야합니다. 그거하고 있니? 예 : a.email을 사용하여 a.result = 'open'그룹에 count (*)>가있는 a.id = b.id의 A 내부 참여 B b에서 a.email, count (* 3, 주문 횟수 (*) desc – Fallenreaper

+0

이해하기까지 몇 시간이 걸렸습니다. 감사. – elong

답변

2
SELECT email,name,count(*) 
FROM all_data 
INNER JOIN result_dump ON 
all_data.email = result_dump.email 
where `result` = "open" 
group by result_dump.email 
having count(*)>3 
ORDER by count DESC 

아무것도 없을 것이다.

0

다음 쿼리를보십시오 :

SELECT * FROM all_data AS a 
INNER JOIN 
(SELECT * FROM result_dump where email IN 
            (SELECT `email` 
            FROM `result_dump` 
            WHERE `date` = "open" 
            GROUP BY `email` 
            HAVING count(email) >3 
            ORDER BY count(email) DESC)) AS b 
ON a.email = b.email 
WHERE b.`result` = "open" 
+0

나는 피곤한 모든 테이블이 자신의 별칭을 가져야합니다. "첫 번째 줄에는"SELECT * FROM all_data a "가 있어야합니다. SELECT * FROM all_data as ____"무엇이 있어야할지 모르겠습니다. – elong

+0

업데이트 됨 대답 ..... 그것을 통해 가서 어떤 문제가 있으면 알려 주시기 바랍니다 .... –

+0

아직 작동하지 않지만, 나는 그것을 통해 정말 갈 기회가 아주 좋은 기회가 나는 어딘가에 오류를 만들고있어 - 덕분에 – elong

-1

이 작품 파인은 ...!, 표제 INNER JOIN movie_info title.id = ON에서 movie_id 언어로서 title.flag, movie_info.info title.id 등을 title.production_year을

SELECT title.title는 카운트 ..이 시도 (*) movie_info.movie_id;

+0

mysql의 count 메소드를 사용하여 내부 조인 쿼리를 시도하면 위의 코드가 작동합니다. f 이 ... –

관련 문제