首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL计数群数

MySQL计数群数
EN

Stack Overflow用户
提问于 2015-02-24 12:10:01
回答 2查看 206关注 0票数 1

我有一个相当复杂的陈述,我想写。我不知道该怎么做,也不知道是否可能。

我有一个日志系统,可以扫描服务器,并在给定的时刻对在线的每一个用户进行编目。下面是我的桌子的样子:

代码语言:javascript
复制
-----------------
|    ab_logs    |
-----------------
|      id       |
|    scan_id    |
|  found_user   |
-----------------

id是一个自动递增的主键。没有其他的真正价值了。

scan_id是一个整数,它在所有用户每次成功扫描后都会递增。这样我就能把结果从不同的扫描中分离出来。

found_user。存储在扫描过程中在线找到的用户。

上面的内容将生成一个如下所示的表:

代码语言:javascript
复制
id  |  scan_id  | found_user
----------------------------
1   |     1     |   Nick
2   |     2     |   Nick
3   |     2     |   John
4   |     3     |   John

因此,在第一次扫描时,系统发现只有尼克在线。二号它找到了尼克和约翰。三号,只有约翰还在网上。

我知道在给定的扫描过程中,我可以通过以下查询获得在线用户的数量:

代码语言:javascript
复制
SELECT COUNT(*) FROM ab_logs WHERE scan_id = $scan_id

我的问题是,我想得到上面的,用于中的所有扫描,一个结果。如果不将上述查询循环X次,这是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-24 12:15:30

您可以按以下方式使用GROUP BY函数:

代码语言:javascript
复制
SELECT COUNT(*) FROM ab_logs GROUP BY scan_id
票数 2
EN

Stack Overflow用户

发布于 2015-02-24 12:19:01

是的,您可以这样使用GROUP BY

代码语言:javascript
复制
SELECT COUNT(*) FROM ab_logs GROUP BY scan_id
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28695453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档