mysql计数具有不同的

mysql计数具有不同的,mysql,sql,Mysql,Sql,嗨,我想知道有多少用户使用一个应用程序使用该应用程序 ╔════════════════════════════════════════════════════════════════════════╗ ║ username clientname date time publishedapp ║ ╠════════════════════════════════════════════════════════════════════════

嗨,我想知道有多少用户使用一个应用程序使用该应用程序

╔════════════════════════════════════════════════════════════════════════╗
║    username  clientname     date         time          publishedapp    ║
╠════════════════════════════════════════════════════════════════════════╣
║    akirk   hplaptop1   30/07/2015   8:42:30.04    PB Desktop service   ║
║     john     dellPC1   27/07/2015   9:41:30.04    desktop@Work2-1      ║
║     john     dellPC1   27/07/2015   9:41:30.04    Word 2013            ║
║     karl delllaptop2   27/07/2015   9:40:21.00    Chrome               ║
║     karl delllaptop2   27/07/2015   9:40:21.00    Desktop with acrobat ║
║     jdoe       HPPC1   27/07/2015   9:40:15.00    Powerplan            ║
║     mrt        P2000   31/02/2015   10:03.20      PB Desktop service   ║
╚════════════════════════════════════════════════════════════════════════╝
我会观察这样的东西:

PB DEsktop service: 2
Powerplan: 1
我设法得到了一份工作

PB DEsktop service: 2
desktop@Work2-1: 1
Desktop with acrobat: 1
Chrome: 1
Word 2013: 1
Powerplan: 1
使用此查询:

SELECT publishedapp, COUNT(DISTINCT username) as cnt
FROM tbl_name
GROUP BY publishedapp
ORDER BY cnt DESC
试试这个

SELECT publishedapp, COUNT(*) as cnt
FROM 
(
select username from tbl_name 
group by username
having count(*)=1
) as t1 inner join tbl_name as t2
on t1.username=t2.username
GROUP BY publishedapp
ORDER BY cnt DESC
试试这个

SELECT publishedapp, COUNT(*) as cnt
FROM 
(
select username from tbl_name 
group by username
having count(*)=1
) as t1 inner join tbl_name as t2
on t1.username=t2.username
GROUP BY publishedapp
ORDER BY cnt DESC

以下是一种不需要连接的方法:

select publishedapp, count(*) as NumberOfUsers
from (select username, min(publishedapp) as publishedapp
      from table t
      group by username
      having count(*) = 1
     ) u
group by publishedapp
order by count(*) desc;
如果一个用户只有一个应用程序,那么该应用程序将是最小值


如果用户可以多次使用某个应用程序,而您仍然需要它们,则将子查询中的count*更改为countdistinct publishedapp。

以下是一种不需要加入的方法:

select publishedapp, count(*) as NumberOfUsers
from (select username, min(publishedapp) as publishedapp
      from table t
      group by username
      having count(*) = 1
     ) u
group by publishedapp
order by count(*) desc;
如果一个用户只有一个应用程序,那么该应用程序将是最小值

如果用户可以多次使用某个应用程序,而您仍然需要它们,则将子查询中的count*更改为countdistinct publishedapp。

您可以使用EXISTS实现此目的:

您可以通过以下方式实现此目的:



那么,你的问题是什么?有多少使用单个应用程序的用户使用该应用程序?看看我在看什么。。。我不知道如何查询这个…那么,你的问题是什么?有多少使用单个应用程序的用户使用该应用程序?看看我在看什么。。。我不知道如何查询…这是返回有趣的值,但与我的数据不一致…:S我想知道是否有办法让usernama恢复到对比状态,看看我从这里得到了什么,谢谢。你可以在第一个选择中添加用户名,也可以在最后一个组中添加用户名。不明白,这是我尝试的选择发布DAPP,username,COUNT*as cnt,从“从tbl_名称组中选择用户名”按用户名的计数*是列出所有用户这是返回有趣的值,但与我的数据不一致…:S我想知道是否有办法让usernama恢复到对比状态,看看我从这里得到了什么,谢谢。你可以在第一个选择中添加用户名,也可以在最后一个组中添加用户名。不明白,这是我尝试的选择发布DAPP,username,COUNT*as cnt,从“从tbl_名称组中选择用户名”按用户名计数*是列出所有用户这对我不起作用,什么是日期时间?我想这两个字段连接在一起。。。是的,这是两个字段的组合,理想情况下,表中应该有ID字段,可以用于比较。这对我不起作用,什么是日期时间?我想这两个字段连接在一起。。。我不需要对它们进行合并吗?是的,它是两个字段的组合,理想情况下,您的表中应该有ID字段,可以用于比较。子查询是指有位吗?@maco1717。查询返回使用该应用程序的用户数。子查询在FROM子句中。我使用PHP,所以我需要一个变量来读取用户数。我的查询中的变量名是什么?我可以识别它,就像我可以用FROM子句末尾的u命名一样?@maco1717。只要给这个列起你想要的名字就行了。子查询指的是有位吗?@maco1717。查询返回使用该应用程序的用户数。子查询在FROM子句中。我使用PHP,所以我需要一个变量来读取用户数。我的查询中的变量名是什么?我可以识别它,就像我可以用FROM子句末尾的u命名一样?@maco1717。只要给这个列起你想要的名字就行了。