我通过以下方式进行这种类型的查询:
SELECt COUNT(DISTINCT t1.userid) AS user_count FROM TRANSACTIONS t1 JOIN TRANSACTIONS t2 USING (userid) WHERe t1.product_id = 'prod1' AND t2.product_id = 'prod2';
@najmeddine显示的
GROUPBY解决方案还会产生您想要的答案,但在MySQL上的效果不佳。MySQL很难优化查询。
GROUP BY
您应该尝试两个查询,使用来分析优化
EXPLAIN,还应该运行一些测试并根据数据库中的数据量对结果进行计时。



