2014-01-30 3 views
0

재미있는 이슈는 내가 가지고있는 다른 것들과 비교해 보면 단순한 것 같아서 답을 알지만 하나의 견해로 표시하는 방법은 아닙니다.MySQL에서 쿼리의 행 수를 표시하는 방법은 무엇입니까?

그래서 나는이 개 테이블

표 A UID FIRSTNAME LASTNAME

표 B UID FIRSTNAME LASTNAME을

나는 내부는 얼마나 많은 보여 UID에 가입 할 이 두 테이블이 공유하는 레코드는 행을 볼 수 있지만 뷰에서 행 수를 출력 할 수는 없습니다. 단순히보고 싶습니다에서

을 모두 -

4500 없음 표 B에 - 고유 한 UID의 수를되는 번호로 13000

(그들은 각 테이블의 고유 한 이미)의 각 설명 된 두 개의 쿼리.

+1

내부입니다 내부는 이제까지 레코드를 반환합니다 조인 때문에, 얼마나 많은 잘못 일치하는 기록을 말할 수 없다 조인이 두 표에 모두 존재합니다. –

+0

@MarcB - 고유 한 일치 수를 뺀 총 행 수는 없습니까? – blankip

+0

마크의 단서가 "INNER 조인은 말할 수 없다"라고 생각합니다. –

답변

0

첫 번째는 것

SELECT count(a.uid) 
FROM a inner join b on a.uid = b.uid 

두 번째는

SELECT count(b.uid) 
FROM a left join b on a.uid = b.uid 
WHERE b.uid IS NULL 
+0

두 번째 쿼리의 첫 번째 쿼리에서 총 행 수가 있어야 할 때 두 번째 쿼리에서 0이됩니다 - 작동합니다. 또한 동일한보기에서 어떻게 둘 다 표시합니까? – blankip

관련 문제