我有兩個表,例如:MySQL的:計算兩個表中有多少行是相同的
+---------+---------+
| Table A | Table B |
+---------+---------+
| 52 | 12 |
| 64 | 6 |
| 36 | 69 |
| 48 | 52 |
| 12 | |
+---------+---------+
而且我想找到這些表的有多少行是在一個MySQL查詢相同。 有什麼幫助嗎?
(在我們的例子)
我有兩個表,例如:MySQL的:計算兩個表中有多少行是相同的
+---------+---------+
| Table A | Table B |
+---------+---------+
| 52 | 12 |
| 64 | 6 |
| 36 | 69 |
| 48 | 52 |
| 12 | |
+---------+---------+
而且我想找到這些表的有多少行是在一個MySQL查詢相同。 有什麼幫助嗎?
(在我們的例子)
您可以使用EXISTS
找到兩個表之間的匹配行,然後使用COUNT
。
查詢
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
);
您可以使用JOIN語句來計算它:
SELECT COUNT(*) FROM tb1
JOIN tb2 ON tb1.ColumnA = tb2.ColumnA
使用INNER JOIN
假設表A有列A和表B有B柱
所以查詢將是:
SELECT count(*) FROM TableA INNER JOIN TableB ON (A = B);
你可以使用INNER JOIN
SELECT COUNT(*) FROM TableA A INNER JOIN TableB B on A.col1=B.col1
這些表的列名是什麼? –
向我們展示您的數據表結構 – hiule
使用簡單的內部連接? – pringi