首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PostgresQL查询中选择最常用和最活跃的值

问从PostgresQL查询中选择最常用和最活跃的值
EN

Stack Overflow用户
提问于 2020-02-26 04:09:09
回答 1查看 64关注 0票数 0

我有一个数据库结构,看起来像这样:

​

​

我要创建的查询是一个选择最受欢迎的活动类的查询。Active的定义是在未来有一个结束日期(仍然是active),而最流行的定义是拥有最多的类成员。

到目前为止,我有这个查询:

代码语言:javascript
复制
CREATE VIEW popularclasses AS
SELECT COUNT(studentid) AS amount
FROM classes 
JOIN classmembers ON classes.classid = classmembers.classid
WHERE ends > NOW();

我尝试创建一个视图,在该视图中,我计算所有的学生id并连接另一个表,然后尝试创建where子句,以仅标记活动的学生id。

我的问题是,我想要得到每个班级的学生数量,然后做一些类似这样的事情

代码语言:javascript
复制
... sort desc LIMIT 10;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-26 04:22:07

这里您需要的是一个group by运算符。

当学生在同一个班级时,您希望对他们进行重新分组,然后计算每个班级的学生人数。

代码语言:javascript
复制
CREATE VIEW popularclasses AS
SELECT
  classes.classid,
  COUNT(*) AS amount
FROM
  classes
JOIN classmembers ON classes.classid = classmembers.classid
GROUP BY
  classes.classid
ORDER BY amount DESC LIMIT 10;

(我还没有尝试过这个代码)

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

https://stackoverflow.com/questions/60402407

复制
相关文章

相似问题

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