Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 获取基于另一列的用户数_Mysql_Sql - Fatal编程技术网

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问一个新问题。这将使所有人在这里所做的工作无效。