当前位置: 首页 > 知识库问答 >
问题:

SQL查询以计算一列中出现N次的值的数量

吕皓
2023-03-14

我有一张这样的桌子,但有1mi行:

+------+-----------------+
| TEAM | VISITATION DATE |
+------+-----------------+
|  1   |    02/02/2021   |
|  1   |    04/03/2021   |
|  1   |    10/04/2021   |
|  2   |    13/03/2021   |
|  3   |    01/03/2021   |
|  3   |    27/04/2021   |
|  4   |    21/02/2021   |
|  4   |    14/03/2021   |
|  4   |    01/04/2021   |
+------+-----------------+

我想知道有多少团队被拜访了N次。

例如,如果我想知道一次访问了多少个团队,结果将是1(因为只有团队2)。如果我想要三次,结果将是2(因为团队1和4都访问了三次)。

大概是

SELECT COUNT(TEAM) 
FROM table 
WHERE COUNT(VISITATION DATE)=1 

(然后=2,=3,依此类推)。。。但是因为我不能在WHERE之后使用COUNT,所以我不知道怎么做。有人能帮忙吗?

如果有帮助,它不一定需要连接到探视日期。可以是“有多少团队出现一次/两次/三次…”(仅考虑团队列)

提前感谢!

共有3个答案

鲁博瀚
2023-03-14

您可以使用having子句

select 
    team,
    COUNT(TEAM) as total_count
from table 
group by
    team
having count(team) = 1 
金何平
2023-03-14

有了我们有:

select  
    team, 
    COUNT(team) as countTeam 
from t 
group by team
having count(team) = 2
梅跃
2023-03-14
select count(team) from 
(select  team, COUNT(team) as countTeam from t group by team) 
where countTeam = 2

将2替换为所需的数字。

演示

 类似资料:
  • 问题内容: 假设我有一张选举数据表,称为选举,每个选举每个选民都有一行,如下所示: 我想知道在选举1和选举2中都投票的选民人数;我不在乎别人 该数字应为2(选民A和选民E)。 这样的事情会做: 更新:这是我在这里的第一个问题,我被那些热心而又快速的人们所震撼。我修改了上面的查询,以解决最后缺少别名并添加终止分号的问题。 谢谢你! 问题答案: 是的。你所拥有的应该工作。(您将需要在派生表上添加一个别

  • 问题内容: 我的sql查询获取固件的错误修复验证列表,例如def-456是一张票,要求我对产品进行固件测试。def-456有几个子任务,记录结果。结果记录为:id:abc-123,abc-124,abc-125等(如下表所示)。这些对应的ID的结果为“通过”或“失败”。我需要计算两个值----> 1.尝试次数:在以下示例中,尝试次数将为3/5,有3次通过和2次失败(即通过/通过+失败),在这里我可

  • 问题内容: 对于SQL数据库中的用户日志记录表,我跟踪报告请求中的某些参数。该报告允许将多个ID传递给它,我将所有ID都存储在数据库列的单个列中。如果这是一组标准化的数据,则肯定会有一个附加的表设置,但这就是继承的内容。。。 现在,我被要求提供一个传递了2个以上ID的报告的运行次数的快速计数。我可以轻松获取请求的报告数量超过1个的记录的数量,因为它们都包含逗号。 接下来需要做的是计算逗号在列中出现

  • 问题内容: 我想找到列的2nd,3rd,… nth个最大值。 问题答案: 您可以将列排序为降序格式,然后仅从第n行获取值。 编辑:: 根据评论请求进行了更新。 警告 完全未经测试! 类似于上面的内容对于Oracle应该适用…您可能必须首先正确使用语法!

  • 我正在尝试计算Pandas数据帧中一个值与另一个值一起出现的次数,并计算每行的次数。 这就是我的意思: 假设我想计算与,我希望结果是: 这里的< code>freq(频率)列表示< code>a列中的值与< code>t列中的值一起出现的次数。 请注意,考虑到我的数据帧的大小,仅计算发生的次数的解决方案将导致错误的频率。 有没有办法在Python中实现这一点?

  • 我已经被设置了一个任务,这意味着我需要创建一个'3个或更多的骰子游戏‘。我所坚持的是这个游戏所需要的计分系统,它是这样的:“玩家依次掷出所有五个骰子,并为同类中的三个或更好的骰子得分。如果玩家只有同类中的两个,他们可能会重新掷出剩余的骰子,试图提高匹配的骰子值。如果没有匹配的数字被掷出,玩家得分为0。 游戏进行了一定数量的回合(比如50回合),游戏结束时总分最高的玩家是获胜者。“我需要计算出如何将