首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >盘点记录问题

盘点记录问题
EN

Stack Overflow用户
提问于 2013-02-21 01:43:12
回答 7查看 84关注 0票数 2

这可能是一个简单的问题,但我无法理解它。

我有一个MemberBusinessCats表,其中包含一个BusinessCatID和一个MemberID。该表可以这样表示:

代码语言:javascript
运行
复制
+-----------------------+-----------------+------------+
|  MemberBusinessCatID  |  BusinessCatID  |  MemberID  |
+-----------------------+-----------------+------------+
|  27                   |  45             |  102       |
+-----------------------+-----------------+------------+
|  28                   |  55             |  102       |
+-----------------------+-----------------+------------+
|  29                   |  61             |  102       |
+-----------------------+-----------------+------------+
|  30                   |  45             |  33        |
+-----------------------+-----------------+------------+
|  31                   |  23             |  33        |
+-----------------------+-----------------+------------+
|  32                   |  45             |  73        |
+-----------------------+-----------------+------------+
|  32                   |  61             |  73        |
+-----------------------+-----------------+------------+
|  32                   |  45             |  73        |
+-----------------------+-----------------+------------+

如何编写脚本来显示以下数据

代码语言:javascript
运行
复制
+-----------------+---------------------+
|  BusinessCatID  |  NumMembers In Cat  |
+-----------------+---------------------+
|  45             |  3                  |
+-----------------+---------------------+
|  55             |  1                  |
+-----------------+---------------------+
|  61             |  2                  |
+-----------------+---------------------+
|  23             |  1                  |
+-----------------+---------------------+

在此之前,非常感谢您。

neojakey

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-02-21 01:45:26

尝尝这个

代码语言:javascript
运行
复制
   select BusinessCatID ,count(BusinessCatID) as NumMembers_In_Cat 
   from MemberBusinessCats 
   group by BusinessCatID
票数 4
EN

Stack Overflow用户

发布于 2013-02-21 01:45:34

需要将聚合函数与GROUP BY一起使用

代码语言:javascript
运行
复制
select BusinessCatID, count(*) NumMembersInCat
from MemberBusinessCats
group by BusinessCatID

请参阅SQL Fiddle with Demo

这也可以使用count() over()编写

代码语言:javascript
运行
复制
select distinct BusinessCatID, 
  count(*) over(partition by BusinessCatID) NumMembersInCat
from MemberBusinessCats

请参阅SQL Fiddle with Demo

如果要计算每个类别中的成员数量,则可以使用:

代码语言:javascript
运行
复制
select BusinessCatID, 
  count(distinct MemberID) NumMembersInCat
from MemberBusinessCats
group by BusinessCatID

请参阅SQL Fiddle with Demo

票数 5
EN

Stack Overflow用户

发布于 2013-02-21 01:58:34

根据列出两次但只计算一次的BusinessCatID & MemberID (45,73)的组合,您需要进行计数(DISTINCT x)

代码语言:javascript
运行
复制
SELECT BusinessCatID, COUNT(DISTINCT MemberID) as NumMembersInCat
FROM MemberBusinessCatID
GROUP BY BusinessCatID

这将计算每个BusinessCatID的不同成员(基于MemberID)。如果你不担心dups,那么使用COUNT(MemberID)甚至COUNT(1)就可以了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14986457

复制
相关文章

相似问题

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