Mysql 获取基于另一列的用户数
我遇到了一个问题,解释如下:Mysql 获取基于另一列的用户数,mysql,sql,Mysql,Sql,我遇到了一个问题,解释如下: id | user_id | admin 1 | 1 | 2 2 | 1 | 5 3 | 2 | 5 4 | 2 | 5 5 | 3 | 5 6 | 4 | 5 我需要编写一个查询,以获取与传入的WHERE子句中传递的管理员id相关联的所有用户,并且具有多个事务(可以与其他管理员一起) 试过 SELECT user_id , COUNT(*) coun
id | user_id | admin
1 | 1 | 2
2 | 1 | 5
3 | 2 | 5
4 | 2 | 5
5 | 3 | 5
6 | 4 | 5
我需要编写一个查询,以获取与传入的WHERE
子句中传递的管理员id相关联的所有用户,并且
具有多个事务(可以与其他管理员一起)
试过
SELECT
user_id ,
COUNT(*) count
FROM
table
WHERE admin = 5
GROUP BY
user_id
Having
count > 1
但是,上述查询跳过只有一个admin=5事务且另一行有另一个admin的用户_id
If user_id is 5 then result should come
user_id
1
2
建议?汇总
用户id
并声明:
- 出现感兴趣的管理员(例如
)5
- 出现两个或多个任意类型的管理员
在
用户id上聚合并断言:
- 出现感兴趣的管理员(例如
5
)
- 出现两个或多个任意类型的管理员
试试这个
SELECT user_id from `tablename` WHERE admin IN( SELECT admin FROM `tablename` GROUP BY admin HAVING count(*) > 1)
试试这个
SELECT user_id from `tablename` WHERE admin IN( SELECT admin FROM `tablename` GROUP BY admin HAVING count(*) > 1)
在admin=5
上的查询过滤器中,对拥有1个以上事务的用户进行单独的子查询。您需要在子查询中包含计数,因为admin=5
标准不适用于该计数
SELECT DISTINCT user_id
FROM yourTable
WHERE admin_id=5
AND user_id IN (SELECT user_id FROM yourTable GROUP BY user_id HAVING COUNT(*)>1)
在admin=5
上的查询过滤器中,对拥有1个以上事务的用户进行单独的子查询。您需要在子查询中包含计数,因为admin=5
标准不适用于该计数
SELECT DISTINCT user_id
FROM yourTable
WHERE admin_id=5
AND user_id IN (SELECT user_id FROM yourTable GROUP BY user_id HAVING COUNT(*)>1)
选择用户标识
来自测试表1
按用户id分组
具有总和(当admin=&n然后1 ELSE 0 END时的情况)>0
及
计数(用户id)>1 选择用户id
来自测试表1
按用户id分组
具有总和(当admin=&n然后1 ELSE 0 END时的情况)>0
及
计数(用户id)>1 如果我理解你的问题,你想问:
显示与多个管理员关联的所有用户
另外,请允许我确定具体有问题的管理员(在您的示例5中)
这将为您提供每个用户的列表(仅限用户id)
如果我理解你的问题,你想问:
显示与多个管理员关联的所有用户
另外,请允许我确定具体有问题的管理员(在您的示例5中)
这将为您提供每个用户的列表(仅限用户id)
在给予负面评价之前,至少给我们一个正确的答案。我检查了这个查询,它工作正常。如果您也提供反馈会更好,谢谢……我不这么认为,您的查询中没有admin=5标准,所以不会很好。我同意downvoter。@Shadow Please read Question Rightly(请正确阅读问题)要求不仅适用于管理员5,他们实际上还需要“我需要编写一个查询,以使与管理员id相关联的所有用户在WHERE子句中传递,并且具有多个事务(可以与其他管理员进行交易)。”我正确地阅读了这个问题:)您传递了所有多次出现的管理员ID,而不仅仅是一个。问题是关于指定一个管理员id(以值5为例)。在给出负面评级之前,至少给我们一个正确的答案。我检查了这个查询,它工作正常。如果您也提供反馈会更好,谢谢……我不这么认为,您的查询中没有admin=5标准,所以不会很好。我同意downvoter。@Shadow Please read Question Rightly(请正确阅读问题)要求不仅适用于管理员5,他们实际上还需要“我需要编写一个查询,以使与管理员id相关联的所有用户在WHERE子句中传递,并且具有多个事务(可以与其他管理员进行交易)。”我正确地阅读了这个问题:)您传递了所有多次出现的管理员ID,而不仅仅是一个。问题是指定一个管理员id(以值5为例)。@TimBiegeleisen您还可以帮助解决另一个问题吗?如果我们需要跳过第一个匹配条目,那么我们如何更新您的查询<代码> USELYID=3 具有“<代码> > Admin=5 的第1项,第二项为<代码> Admin=4 < /代码>(如果我们按代码> ID 列),则不应考虑结果集中的3。如果我们不考虑第一个条目,然后应用我们的逻辑,什么应该是最新的查询?@ SasssShani问一个新问题。这将使所有人在这里所做的工作无效。@TimBiegeleisen你能帮我处理另一个案子吗?如果我们需要跳过第一个匹配条目,那么我们如何更新您的查询<代码> USELYID=3 具有“<代码> > Admin=5 的第1项,第二项为<代码> Admin=4 < /代码>(如果我们按代码> ID 列),则不应考虑结果集中的3。如果我们不考虑第一个条目,然后应用我们的逻辑,什么应该是最新的查询?@ SasssShani问一个新问题。这将使所有人在这里所做的工作无效。