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

MySQL选择非重复计数

张丁雷
2023-03-14
+----------+----------+
| user_id  | video_id |
+----------+----------+
|        1 |    1     |
|        1 |    1     |
|        1 |    2     |
|        2 |    1     |
|        2 |    2     |
+----------+----------+

基本上,对于每个user_id,我需要类似的东西,count(DISTINCT video_id)

我想最终的结果只是返回所有的总数。

共有1个答案

东门理
2023-03-14

如果您想获得每个用户的总数,那么您将使用:

select user_id, count(distinct video_id)
from data
group by user_id;

然后,如果您想要获得Video_ID的总数,那么您将把它包装在子查询中:

select sum(cnt) TotalVideos
from
(
  select user_id, count(distinct video_id) cnt
  from data
  group by user_id
) d

请参见SQL Fiddle with两者的演示。

 类似资料:
  • 问题内容: 我有一张包含所有美国邮政编码的表格。每行包含邮政编码的城市和州名称。我正在尝试获取在多个州显示的城市列表。如果在同一座城市中没有X个邮政编码,这将不是问题。 所以基本上,我只想将一个州的城市计数为1,而不是将城市/州计数为7次,因为该城市/州中有2个以上的邮政编码… 我不太确定该怎么做。我知道我需要使用count,但是如何告诉mysql仅将给定的城市/州组合计数为1? 问题答案: SE

  • 本文向大家介绍MySQL选择按值计数?,包括了MySQL选择按值计数?的使用技巧和注意事项,需要的朋友参考一下 您可以为此使用功能。让我们首先创建一个演示表 使用insert命令在表中插入一些记录。查询如下- 使用select语句显示表中的所有记录。查询如下- 以下是输出 这是选择按值计数的查询 以下是输出

  • 表名称包含一列 目标是计算重复次数以得到以下结果 如何做到这一点?

  • 问题内容: 我有这样的桌子 而且我需要创建一个查询,该查询将像这样通过电子邮件计算所有重复项 问题答案: last()子句将选择范围限制为大于1的电子邮件计数,例如重复项。

  • 我想调用一个函数时,选择的任何选项。类似于这样: 但不知何故不起作用。有人能帮忙吗。 请注意 我不想捕获更改事件,如果我选择已经选择选项,则不会触发更改事件

  • 问题内容: 我有一个名为的表,其中包含三个字段: ID(自动递增int), UserId(int), 正在关注(int) 如果我有这样的数据: 我将如何找到用户2的朋友(即:用户2正在关注他们,而他们又跟随了用户2) 我想换句话说,如果用户“ a”跟随用户“ b”,而用户“ b”跟随用户“ a”,我该如何选择用户A? 问题答案: 试试这个: