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

如何在PostgreSQL的count函数中添加条件统计不同学生的课程订阅数

解决方法

你需要关联Subscription表拿到订阅对应的学生标识,再通过COUNT(DISTINCT)对同一学生的重复订阅去重计数即可,正确的查询语句如下:

SELECT sc.id_Course
FROM Subscription_Course sc
INNER JOIN Subscription s 
  ON sc.idsubscription = s.idsubscription
GROUP BY sc.id_Course
HAVING COUNT(DISTINCT s.Student) > 1

逻辑说明

  1. 先通过内连接关联订阅中间表Subscription_Course和订阅主表Subscription,获取每条订阅记录对应的学生ID
  2. 按课程ID分组后,COUNT(DISTINCT s.Student)会自动对同一课程下的重复学生ID去重,同一学生无论订阅多少次该课程,仅统计为1次
  3. 最后通过HAVING条件过滤出订阅学生数大于1的课程ID

内容的提问来源于stack exchange,提问作者Tomás Oliveira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:36:07