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。只要给这个列起你想要的名字就行了。