Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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 - Fatal编程技术网

MySQL过滤、计数、排列

MySQL过滤、计数、排列,mysql,Mysql,我有一张这样的桌子 user | app name1 app1 name1 not an app name1 app1 name1 app2 name2 not an app name3 app2 name3 app3 name4 app3 name4 app3 我需要提取应用程序不同的用户 user | app name1 app1 name1 app2 name3 app2 name3 app3 筛选出“非应用程序”记录,这将为

我有一张这样的桌子

user  |  app
name1   app1
name1   not an app
name1   app1
name1   app2
name2   not an app
name3   app2
name3   app3
name4   app3
name4   app3
我需要提取应用程序不同的用户

user  |  app
name1   app1
name1   app2
name3   app2
name3   app3

筛选出“非应用程序”记录,这将为您提供拥有多个应用程序的用户:

select user
from MyTable
where app <> 'not an app'
group by user
having count(distinct app) > 1
然后,您可以使用它检索这些用户的所有数据,如下所示:

select *
from MyTable
where user in (
    select user
    from MyTable
    where app <> 'not an app'
    group by user
    having count(distinct app) > 1
)

使用自连接应基于等效用户和非等效应用(不包括“非应用”记录)工作

由于结果将以指数形式增长到每个用户在应用程序中的差异数,我们使用group by将结果限制为每次出现一次

SELECT A.user, A.App
FROM table A
INNER JOIN table B
  on A.User = B.user 
 and A.App <> B.App
 and A.App <> 'not an app'
 and B.App <> 'not an app'
Group by A.user, A.App
似乎有用


抱歉,我如何实现这一点,我是否要将第一个查询复制到一个新表,并将该查询与第二个查询一起复制到该新表?您只需要第二个查询。我还没有尝试过这一点,但只要该应用是一个应用且尚未显示,我就需要显示所有出现的情况。如果应用4,应用4,用户1的App1存在您希望看到同一用户的App4列出两次,App1列出一次吗?看起来会,我还有一个疑问tho,我使用WHERE like,因为我搜索包含特定值的字符串,这样:像\%@%\这样的应用程序,或者像\%Desktop%\这样的应用程序,或者像\%RDP%\这样的发布DAPP应用程序,我如何通过内部连接实现这样的功能?像这样的?A.应用程序B.应用程序和A.应用程序\%@%\和A.应用程序\%Desktop%\和A.应用程序\%RDP%\和B.应用程序\%Desktop%\和B.应用程序\%RDP%`我刚才意识到的道歉不包含,所以类似这样的东西:和A.应用程序B.应用程序和A.应用程序%@%和A.应用程序%Desktop%和A.应用程序%RDP%和B.应用程序%@%和B.应用程序%Desktop%\和B.应用程序%RDP%