You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL中实现‘仅属于’条件?统计仅观看alpha系列的用户数

统计仅观看过'alpha'系列的用户数量

首先,你的数据表结构及数据如下:

Nameseriesseason
abcalphas1
abcalphas2
pqralphas1
xyzbetas2
xyzgammas3
abcthetas1

要统计仅观看过'alpha'、未观看其他任何系列的用户,核心是筛选出所有观看记录里只有'alpha'的用户,以下提供两种常用实现方式:

方法一:分组后筛选唯一系列为alpha

通过GROUP BY Name对用户分组,再用HAVING子句限制该用户的所有系列只能是'alpha':

SELECT COUNT(DISTINCT Name) AS only_alpha_users
FROM your_table_name
GROUP BY Name
HAVING COUNT(DISTINCT series) = 1 
   AND MAX(series) = 'alpha';

解释:

  • COUNT(DISTINCT series) = 1:确保该用户只看过一个系列
  • MAX(series) = 'alpha':确保这个唯一的系列是alpha(因为只有一个系列时,MAX和MIN结果一致,用MIN也可)

方法二:排除观看过非alpha系列的用户

先找出所有观看过非alpha系列的用户名单,再从观看过alpha的用户中排除他们:

SELECT COUNT(DISTINCT t1.Name) AS only_alpha_users
FROM your_table_name t1
WHERE t1.series = 'alpha'
  AND t1.Name NOT IN (
      SELECT DISTINCT Name 
      FROM your_table_name 
      WHERE series != 'alpha'
  );

解释:

  • 子查询获取所有看过非alpha系列的用户
  • 主查询筛选出看过alpha且不在上述名单中的用户,最后统计数量

两种方法都能得到正确结果(示例数据中结果为1,即用户pqr)。

内容的提问来源于stack exchange,提问作者Abhilash Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 14:50:29