选择表中使用MYSQL重复两次的记录
我有一个简单的选择表中使用MYSQL重复两次的记录,mysql,sql,Mysql,Sql,我有一个简单的list\u id和member\u id +---------+--------+ |list_id | Member_id| +---------+--------+ | 0001 | B002 | | 0001 | B005 | | 0002 | B002 | | 0003 | B003 | | 0004 | B005 | | 0004 | B002 | | 0007 | B002 | +---------
list\u id
和member\u id
+---------+--------+
|list_id | Member_id|
+---------+--------+
| 0001 | B002 |
| 0001 | B005 |
| 0002 | B002 |
| 0003 | B003 |
| 0004 | B005 |
| 0004 | B002 |
| 0007 | B002 |
+---------+--------+
我想生成一个查询来选择只包含2个成员的列表\u id
(在表中重复两次)
到目前为止,我已经做到了:
使用嵌套查询内部查询选择所有不同列表ID
,外部查询选择计数
,但它不是一个循环,因此我无法获取每个循环的计数。在本例中,您需要一个计数
:
select list_id
from yourtable
group by list_id
having count(*) = 2
SELECT list_id
FROM mytable
GROUP BY list_id
HAVING count(member_id) = 2
在本例中,您需要一个计数:
SELECT list_id
FROM mytable
GROUP BY list_id
HAVING count(member_id) = 2
好的,这是另一个解决方案,而不是我所期望的,那么你能告诉我如何对我从嵌套查询中提取的每一行进行操作,以替换for循环逻辑吗?我不知道你所说的“对每一行进行操作”是什么意思。好的,这是另一个解决方案,而不是我所期望的,那么,你能告诉我如何对我从嵌套查询中提取的每一行进行操作吗?用什么来代替for循环逻辑?我不知道“对每一行进行操作”是什么意思。