2017-05-30 2 views
0

あるか数える:MySQLは:例えば、二つのテーブルの多くの行は、私は2つのテーブルを持っている同じ

+---------+---------+ 
| Table A | Table B | 
+---------+---------+ 
|  52 |  12 | 
|  64 |  6 | 
|  36 |  69 | 
|  48 |  52 | 
|  12 |   | 
+---------+---------+ 

そして私は、これらのテーブルの多くの行が1つのMySQLのクエリで同じであるか知りたいです。 助けてください?

(この例では)

+0

これらのテーブルの列名は何ですか? –

+0

あなたのデータテーブル構造を教えてください – hiule

+0

簡単な内部結合を使用していますか? – pringi

答えて

1

次の2つのテーブル間の一致する行を検索し、COUNTを使用するEXISTSを使用することができます。

クエリ

select count(*) from TableA a 
where exists(
    select 1 from TableB b 
    where a.col1 = b.col1 
); 

そして、あなたは一意の値をカウントした場合、

クエリを使用でき

select count(distinct *) from TableA a 
where exists(
    select 1 from TableB b 
    where a.col1 = b.col1 
); 
0

はそれを数えるにJOINステートメント:

SELECT COUNT(*) FROM tb1 
JOIN tb2 ON tb1.ColumnA = tb2.ColumnA 
0

使用INNER JOIN
はのは、テーブルAだからクエリがされる列Aがあり、テーブルB列B
を持っていると仮定しましょう:

SELECT count(*) FROM TableA INNER JOIN TableB ON (A = B); 
0

はあなたが使用することができINNER JOIN

SELECT COUNT(*) FROM TableA A INNER JOIN TableB B on A.col1=B.col1

関連する問題