sql如何按、不同、求和分组

x6yk4ghg  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(365)

我对sql非常陌生,所以我为这个毫无疑问的新问题道歉。我正在做一个关于sql的大学模块。
我有一张这样的table。

ID  Learning Area           Course Name                  Qualification    Level Enrolments
1   Business & Management   Accounting (AAT)              Certificate      Two   20
2   Business & Management   Accounting (AAT)              Diploma          Three 10
3   Business & Management   Accounting (AAT)              Extended Diploma Four  13
4   Health & Childcare  Anatomy, Physiology and Pathology Diploma          Two   19


(为照片道歉。我不知道如何添加表格到我的问题在这里,所以任何帮助,也将不胜感激。)
这是给我的任务:
唯一的课程名称,显示每个名称中的字母数和注册总数。
以下是我的尝试:

SELECT DISTINCT [Course Name], Len([Course Name]) AS Letters, SUM (Enrolments) AS Total_Enrolments
FROM DataFile
GROUP BY [Course Name], Enrolments;

然而,我得到的回报是这个。

Course Name                       Letters   Total_Enrolments
Accounting (AAT)                      16    10
Accounting (AAT)                      16    13
Accounting (AAT)                      16    20
Anatomy, Physiology and Pathology     33    19
Animal Care                           11    12

当我添加sum时,“课程名称”不再是不同的
任何帮助或推动正确的方向将不胜感激。

mzsu5hc0

mzsu5hc01#

只能按课程名称进行聚合:

SELECT [Course Name], LEN([Course Name]) AS Letters, SUM (Enrolments) AS Total_Enrolments
FROM DataFile
GROUP BY [Course Name];

请注意 DISTINCT 在这里也是多余的,不需要,因为按课程名称分组已经确保每个课程在结果集中只出现一次。

相关问题