我有一个包含客户 ID 和商品 ID 的交易表,我需要的是仅选择客户购买不止一件商品的交易。
transaction_id | client_id | item_id
---------------------------------------
1 | 1 | 10
2 | 1 | 11
3 | 2 | 11
4 | 3 | 11
5 | 4 | 12
6 | 4 | 12
所以这里是事务 ID:1,2,5,6 ,换句话说,返回客户端 ID(这里是 1、4 - 但我仍然需要这 4 行,不是不同的)出现更多的行比在表中一次。有没有一种方法可以在一个查询中执行该操作而无需返回到编程语言?
最佳答案
SELECT *
FROM transaction t1
WHERE client_id in ( SELECT client_id
FROM transaction t2
GROUP BY client_id
HAVING count(*) > 1 )
关于mysql - 如何选择给定数据出现在表中多行的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34032742/