是这样的,我想从下表中选出同一个ID,有两个或以上grade='F'的相关元组
当我select ID,grade的时候可以选出来
但是我加多个属性就啥都木有QAQ
萌新表示万脸懵,求大神解答,是不是没办法把所有列都选出来呀
你groupby course-id的时候,就按course-id分组了,course-id的分组与之前用ID和grade分组不一样,如果要列出其他字段
select t.ID,t.grade,t. course-id from takes t,(select ID,gradle from takes where grade='F' group by ID,grade) r where t.ID=r.ID
为什么你要查询的多加一列,而group by也要增加呢?group by 只是为了给你查询的列排序,没必要每列都加上去,你以ID排序再试试
能否把你的错误帖出来
你group by 了三个条件,那它首先就是先根据ID group by 一下,然后得出的结果再根据grade groupby 一下,最后再根据course_id group by 一下,最后的结果是没有一条是满足三次group by且grade的数量大于2的,就是不知道你为什么还要再根据course_id grup by
我也不想这么group by,可是现实就是……
不得已
能不能发下你的建表语句,我试试是哪儿的问题~~
ID是唯一的,所以放在group by里面,肯定不会出现统计值大于等于2的情况
看错了,这个统计里面不需要course_id
你是不是想选出同一个ID,有两个或以上grade='F'的相关元组,而且把查出来的两条信息的course_id同时查出来啊,如果是这样的话,肯定是不能group by course_id的
这是数据库的其中一张表,有几个grade我改了的
create table takes
(ID varchar(5),
course_id varchar(8),
sec_id varchar(8),
semester varchar(6),
year numeric(4,0),
grade varchar(2),
primary key (ID, course_id, sec_id, semester, year),
foreign key (course_id,sec_id, semester, year) references section(course_id,sec_id, semester, year),
foreign key (ID) references student(ID)
);
**
insert into takes values ('00128', 'CS-101', '1', 'Fall', '2009', 'A');
insert into takes values ('00128', 'CS-347', '1', 'Fall', '2009', 'A-');
insert into takes values ('12345', 'CS-101', '1', 'Fall', '2009', 'C');
insert into takes values ('12345', 'CS-190', '2', 'Spring', '2009', 'A');
insert into takes values ('12345', 'CS-315', '1', 'Spring', '2010', 'A');
insert into takes values ('12345', 'CS-347', '1', 'Fall', '2009', 'A');
insert into takes values ('19991', 'HIS-351', '1', 'Spring', '2010', 'B');
insert into takes values ('23121', 'FIN-201', '1', 'Spring', '2010', 'C+');
insert into takes values ('44553', 'PHY-101', '1', 'Fall', '2009', 'B-');
insert into takes values ('45678', 'CS-101', '1', 'Fall', '2009', 'F');
insert into takes values ('45678', 'CS-101', '1', 'Spring', '2010', 'B+');
insert into takes values ('45678', 'CS-319', '1', 'Spring', '2010', 'B');
insert into takes values ('54321', 'CS-101', '1', 'Fall', '2009', 'A-');
insert into takes values ('54321', 'CS-190', '2', 'Spring', '2009', 'B+');
insert into takes values ('55739', 'MU-199', '1', 'Spring', '2010', 'A-');
insert into takes values ('76543', 'CS-101', '1', 'Fall', '2009', 'A');
insert into takes values ('76543', 'CS-319', '2', 'Spring', '2010', 'A');
insert into takes values ('76653', 'EE-181', '1', 'Spring', '2009', 'C');
insert into takes values ('98765', 'CS-101', '1', 'Fall', '2009', 'C-');
insert into takes values ('98765', 'CS-315', '1', 'Spring', '2010', 'B');
insert into takes values ('98988', 'BIO-101', '1', 'Summer', '2009', 'A');
insert into takes values ('98988', 'BIO-301', '1', 'Summer', '2010', null);