我有两个表,例如: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