我有两张 table 。第一个表是一个包含 id 和描述该 id 的属性的表,另一个表用于显示用户的事件。因此每个用户可能有一个或多个事件。
用户
user_id server_id user_name user_email
00001 10 Tom tom@email.com
00002 20 Bob bob@email.com
00003 10 Sid sid@email.com
用户事件
user_id activity_id activity_date
00001 1 2015-03-15
00002 4 2014-07-27
00001 3 2014-02-09
00003 5 2014-11-22
00003 4 2015-08-18
我想选择 1000 个用户,条件是 user_activity 表中必须有多行。
SELECT a.user_id, a.user_email FROM user a
INNER JOIN user_activity b ON a.user_id = b.user_id
WHERE a.server_id = 10
AND (user_id BETWEEN 1 AND 10000)
GROUP BY a.user_id
HAVING COUNT(a.user_id > 1)
LIMIT 1000
上面的查询为我提供了具有单行和多行的用户组合。我在这里做错了什么?
最佳答案
改变
HAVING COUNT(a.user_id > 1)
至
HAVING COUNT(a.user_id)>1
我认为它会给出所需的输出
关于mysql - 如何根据条件选择行(另一个表中的多条记录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33208025/