Mysql 拉威尔的原始查询在哪里?
嗨,我很难找到这个场景的正确查询 如何获得3个客户的所有用户Mysql 拉威尔的原始查询在哪里?,mysql,laravel,Mysql,Laravel,嗨,我很难找到这个场景的正确查询 如何获得3个客户的所有用户 SELECT user_id FROM your_table GROUP BY user_id HAVING COUNT(DISTINCT customer_id) = 3 客户表: userid | customerid ______________________ 1 | 10 1 | 11 1 | 12 2 | 13 2 | 22 2 | 23 1
SELECT user_id
FROM your_table
GROUP BY user_id
HAVING COUNT(DISTINCT customer_id) = 3
客户表:
userid | customerid
______________________
1 | 10
1 | 11
1 | 12
2 | 13
2 | 22
2 | 23
1 | 24
3 | 50
查询中的预期结果应该是id为1和2的用户
我在“Laravel”中尝试了“whereRaw”,但我就是搞不懂。您可以使用
分组依据
和条件筛选,使用HAVING
子句:
要查找一个用户的客户总数,我们可以使用COUNT(不同的客户\u id)
来计算唯一的客户数
SELECT user_id
FROM your_table
GROUP BY user_id
HAVING COUNT(DISTINCT customer_id) = 3
注意:
- 如果表结构确保
组合是(用户id,客户id)
;然后您可以使用唯一的
而不是COUNT(*)
COUNT(不同的客户id)
- 如果您正在寻找至少有三个客户的用户,那么您可以在条件中使用
>=3
GROUP BY
和使用HAVING
子句的条件筛选:
要查找一个用户的客户总数,我们可以使用COUNT(不同的客户\u id)
来计算唯一的客户数
SELECT user_id
FROM your_table
GROUP BY user_id
HAVING COUNT(DISTINCT customer_id) = 3
注意:
- 如果表结构确保
组合是(用户id,客户id)
;然后您可以使用唯一的
而不是COUNT(*)
COUNT(不同的客户id)
- 如果您正在寻找至少有三个客户的用户,那么您可以在条件中使用
>=3