- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在尝试使此 sql 语句工作时遇到问题。应该这样计算差距。专业 GPA 的计算方式与 GPA 相同,只是计算中仅包括学生专业的类(class)。例如,假设一名 CS 学生在 CS 类(class)中获得 A,在数学类(class)中获得 B,则该学生的主修 GPA 将为 4.0。
List the students and their major GPA. The results do not need to include the students who have not taken any classes in their major.
到目前为止,我有以下查询,它没有完全返回我想要的。
select sum(value*units)/sum(units) as GPA ,f.name from faculty f
inner join sections s on s.instructor_id = f.id
inner join courses c on c.id=s.id
inner join grades g on g.value =c.units
group by f.name
我得到的表是
name gpa
Art 4.00
Bob 4.00
Pat 3.30
Amy 3.30
Kim 3.30
Sue 3.30
Joe 2.70
Lee 2.70
Max 2.70
这几乎是我想要的,但它显示了甚至没有上过任何课的学生的 gpa。
数据库看起来像
create table departments (
id integer primary key,
name varchar(255)
);
insert into departments (id, name) values (10, 'Computer Science');
insert into departments (id, name) values (20, 'Math');
insert into departments (id, name) values (30, 'Drama');
create table students (
id integer primary key,
name varchar(255),
graduation_date date,
major_id integer references departments(id)
);
insert into students (id, name, graduation_date, major_id) values
(1, 'Joe', null, 10);
insert into students (id, name, graduation_date, major_id) values
(2, 'Amy', '2009-04-22', 20);
insert into students (id, name, graduation_date, major_id) values
(3, 'Max', null, 10);
insert into students (id, name, graduation_date, major_id) values
(4, 'Sue', '2009-01-10', 20);
insert into students (id, name, graduation_date, major_id) values
(5, 'Bob', '2009-03-05', 30);
insert into students (id, name, graduation_date, major_id) values
(6, 'Kim', null, 20);
insert into students (id, name, graduation_date, major_id) values
(7, 'Art', null, 30);
insert into students (id, name, graduation_date, major_id) values
(8, 'Pat', '2005-07-11', 20);
insert into students (id, name, graduation_date, major_id) values
(9, 'Lee', null, 10);
create table grades (
id integer primary key,
letter varchar(255) not null unique,
value real
);
insert into grades (id, letter, value) values (1, 'A', 4.0);
insert into grades (id, letter, value) values (2, 'A-', 3.7);
insert into grades (id, letter, value) values (3, 'B+', 3.3);
insert into grades (id, letter, value) values (4, 'B', 3.0);
insert into grades (id, letter, value) values (5, 'B-', 2.7);
insert into grades (id, letter, value) values (6, 'C+', 2.3);
insert into grades (id, letter, value) values (7, 'C', 2.0);
insert into grades (id, letter, value) values (8, 'C-', 1.7);
insert into grades (id, letter, value) values (9, 'D+', 1.3);
insert into grades (id, letter, value) values (10, 'D', 1.0);
insert into grades (id, letter, value) values (11, 'D-', 0.7);
insert into grades (id, letter, value) values (12, 'F', 0.0);
insert into grades (id, letter) values (13, 'CR');
insert into grades (id, letter) values (14, 'NC');
create table courses (
id integer primary key,
title varchar(255),
units integer,
department_id integer references departments(id)
);
insert into courses (id, title, units, department_id) values
(12, 'Databases', 4, 10);
insert into courses (id, title, units, department_id) values
(22, 'Compilers', 4, 10);
insert into courses (id, title, units, department_id) values
(32, 'Calculus 1', 4, 20);
insert into courses (id, title, units, department_id) values
(42, 'Algebra', 4, 20);
insert into courses (id, title, units, department_id) values
(52, 'Acting', 4, 30);
insert into courses (id, title, units, department_id) values
(62, 'Elocution', 2, 30);
insert into courses (id, title, units, department_id) values
(72, 'Calculus 2', 4, 20);
insert into courses (id, title, units, department_id) values
(82, 'Topology', 4, 20);
create table sections (
id integer primary key,
course_id integer not null references courses(id),
instructor_id integer references faculty(id),
year integer
);
insert into sections (id, course_id, instructor_id, year) values
(12, 12, 6, 2007);
insert into sections (id, course_id, instructor_id, year) values
(13, 12, 1, 2008);
insert into sections (id, course_id, instructor_id, year) values
(14, 22, 1, 2008);
insert into sections (id, course_id, instructor_id, year) values
(23, 12, 6, 2009);
insert into sections (id, course_id, instructor_id, year) values
(24, 22, 1, 2009);
insert into sections (id, course_id, instructor_id, year) values
(32, 32, 2, 2008);
insert into sections (id, course_id, instructor_id, year) values
(33, 32, 2, 2009);
insert into sections (id, course_id, instructor_id, year) values
(34, 82, 2, 2009);
insert into sections (id, course_id, instructor_id, year) values
(43, 32, 3, 2008);
insert into sections (id, course_id, instructor_id, year) values
(51, 62, 4, 2008);
insert into sections (id, course_id, instructor_id, year) values
(52, 52, 4, 2008);
insert into sections (id, course_id, instructor_id, year) values
(53, 62, 4, 2009);
insert into sections (id, course_id, instructor_id, year) values
(54, 52, 4, 2009);
create table enrollment (
id integer primary key,
student_id integer not null references students(id),
section_id integer not null references sections(id),
grade_id integer references grades(id)
);
insert into enrollment (id, student_id, section_id, grade_id) values
(14, 1, 12, 8);
insert into enrollment (id, student_id, section_id, grade_id) values
(15, 1, 13, 3);
insert into enrollment (id, student_id, section_id, grade_id) values
(16, 1, 14, 5);
insert into enrollment (id, student_id, section_id, grade_id) values
(17, 1, 32, 1);
insert into enrollment (id, student_id, section_id, grade_id) values
(18, 1, 34, 2);
insert into enrollment (id, student_id, section_id, grade_id) values
(19, 1, 53, 13);
insert into enrollment (id, student_id, section_id, grade_id) values
(24, 3, 12, 2);
insert into enrollment (id, student_id, section_id, grade_id) values
(25, 3, 14, 5);
insert into enrollment (id, student_id, section_id, grade_id) values
(26, 3, 32, 1);
insert into enrollment (id, student_id, section_id, grade_id) values
(27, 3, 34, 2);
insert into enrollment (id, student_id, section_id, grade_id) values
(28, 3, 54, 7);
insert into enrollment (id, student_id, section_id, grade_id) values
(34, 2, 43, 3);
insert into enrollment (id, student_id, section_id, grade_id) values
(44, 4, 33, 4);
insert into enrollment (id, student_id, section_id, grade_id) values
(54, 4, 53, 1);
insert into enrollment (id, student_id, section_id, grade_id) values
(64, 6, 53, 1)
最佳答案
我试过你的样本,但无法得到与你相同的结果。
我试过这个:
select st.name, sum(value*units)/sum(units) as GPA
from sections s
inner join enrollment e on e.section_id = s.id
inner join students st on st.id = e.student_id
inner join courses c on c.id=s.id
inner join grades g on g.value =c.units
group by st.name
我在学生和入学表上过滤,这意味着如果学生没有类(class),他将不会出现在结果中
它适合你吗?
关于sql - 处理平均绩点的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907403/
我在 MySQL 中有以下数据,我想求和(总计)然后除以行数。 例子: 我想对 AcctSessionTime 列中的所有数字求和并将其除以项目数,所以在我们的例子中 6+4+3+31=44 将它们除
我试图找出一个值在列中出现的平均次数,根据另一列对其进行分组,然后对其进行计算。 我有 3 张 table ,有点像这样 DVD ID | NAME 1 | 1 2 | 1 3
好吧,我完全被困在这里,如果这给你们带来任何不便,我深表歉意,但我需要你们的帮助。 我目前正在自学 C,并且从昨天开始慢慢地达到目标。所以我想给自己一个任务,让用户输入 3 个数字,程序必须找到这三个
我在使用 subAverage 类时遇到困难。当我使用 main 方法时,它似乎无法正常运行。基本上,subAverage 对数组中包含开始索引和结束索引的项进行平均。但是,当我运行它时,我得到了 3
像这样平均一个表不是问题 table = [[1,2,3,0],[1,2,3,0],[1,2,3,4]] 你可以 print numpy.average(table,axis=0) 但是如果我有不均匀
问题 -开发一个类平均脚本,每次运行时都会处理任意数量的结果。提示用户输入每个结果,直到他/她输入 -1。 (哨兵)确定类(class)平均值并将其写入页面。如果未输入结果(第一个输入为 -1),则显
我有 2 个包含以下数据的数组: Array1 = [A, A, A, A, B, B, B, C, C, C, C, C]; Array2 = [4, 2, 4, 6, 3, 9, 6, 5,
我有一个如下所示的文本文件: Mike 5 7 9 Terry 3 7 4 Ste 8 2 3 我写了下面的程序 从文本文件中检索数据 将文本分成由空格分隔的列 将每个名字后面的分数按顺序排序(最低在
我试图找到范围内数字的平均值(即找到 1-1000 范围内所有数字的平均值)。我编写了以下代码来执行此操作,但由于 if 语句,在运行时,代码会生成多个数字。然后我尝试使用 while-loop 代替
我有一系列事件。 1 是好的,0 是坏的。寻找寻找 1 个序列的最大、最小和平均长度的最 Pythonic 方式。 例如: seq ="00100000000000110100100000000011
我有一个包含类似于以下数据的表格: Group TimePoint Value 1 0 1 1 0 2
假设我有一个类 C,它具有属性 a。 从 Python 中的 C 列表中获取 a 总和的最佳方法是什么? 我已经尝试了以下代码,但我知道这不是正确的做法: for c in c_list: t
我有一个看起来像的数据: AAA_1 AAA_2 AAA_3 BBB_1 BBB_2 BBB_3 CCC 1 1 1 1 2 2
对于分色算法,我需要对 std::vector 中的颜色值 (QRgb) 进行平均。 您建议如何做?分别对 3 个分量求和然后取平均值?不然呢? 最佳答案 自 QRgb只是一个 ARGB 格式的 32
在this问题中,我要求对精度调用曲线进行澄清。 特别是,我问我们是否必须考虑一定数量的排名才能画出曲线,还是我们可以合理地选择自己。根据answer,第二个是正确的。 但是,现在我对平均精度(AP)
我想在 UDP 数据包丢失(或丢失)问题上获得其他 SO'ers 的经验。 最初我的理解是,给定直接点对点连接,其中网卡通过交叉电缆连接,网卡上有充足的缓冲区并及时处理所述缓冲区,“应该”没有数据包丢
我有一系列数据,这些数据是通过分子动力学模拟获得的,因此在时间上是连续的,并且在某种程度上是相关的。我可以将平均值计算为数据的平均值,我想估计与以这种方式计算的平均值相关的误差。 根据 this bo
我正在使用以下averageIf公式 =AVERAGEIF('Backend Data - Aerospace'!D:D, "Total",'Backend Data - Aerospace'!E:E
我想列出所有收入超过平均工资的员工。我对此有点迷茫。我需要将所有薪水加起来然后取平均,只显示收入高于平均水平的薪水。在这方面我需要很多帮助。 我的查询不起作用 SQL> select empno,
我正在运行一些音频压缩测试并尝试 Skype's Silk .在他们的测试应用程序中,我看到压缩率为 94%。这似乎很高,这是 Silk 的典型比率吗?这与其他音频压缩编解码器有可比性吗? 最佳答案
我是一名优秀的程序员,十分优秀!