【发布时间】:2020-06-30 20:39:02
【问题描述】:
name subject classroom Total_Score term session
jane eng phase1 79 1 2016/2017
jane math phase1 56 1 2016/2017
jane eng phase1 98 2 2016/2017
jane math phase1 87 2 2016/2017
jack eng phase1 94 1 2016/2017
jack math phase1 45 1 2016/2017
jack eng phase1 79 2 2016/2017
jack math phase1 89 2 2016/2017
jane eng phase2 55 1 2017/2018
jane math phase2 37 1 2017/2018
jack math phase2 45 1 2017/2018
jack eng phase2 59 2 2017/2018
您好,我有这张表,我正在尝试让学生在学期和课程中获得最高分的科目。预期结果应该如下表所示
name subject classroom max_score term session
jane eng phase1 79 1 2016/2017
jane eng phase1 98 2 2016/2017
jack eng phase1 94 1 2016/2017
jack math phase1 89 2 2016/2017
jane eng phase2 55 1 2017/2018
jack eng phase2 59 2 2017/2018
我尝试了以下查询
SELECT
distinct name, subject, classroom, max(Total_Score), term, session
FROM
ranktable
group by name, classroom, term, session, subject
order by term
但它不会返回所需的输出。我会很感激我能得到的任何帮助。我对 SQL 比较陌生
【问题讨论】:
-
您使用的是 MySQL 还是 SQL Server?
-
选择一个数据库服务器.. 任何数据库服务器
-
我删除了冲突的数据库标签。请仅重新标记相关数据库。
-
添加
google-bigquery标签回到问题。根据我在 SO 上的长期经验 - 当用户使用 mysql、sql server 和 google-bigquery 标记问题时 - 在大多数情况下(如果不是全部)与大查询相关! -
@MJH 我正在使用 Mysql 和 bigquery
标签: sql arrays google-bigquery subquery greatest-n-per-group