101 3-105 64
103 3-105 92
107 3-105 91
105 3-105 88
108 3-105 78
109 3-105 76
111 3-105 95
109 3-245 54
105 3-245 45
107 3-245 NULL
103 3-245 86
107 6-106 79
107 6-166 93
101 6-166 85
108 6-166 81
110 9-888 71
select * from 成绩表 where 分数 <all (select AVG(分数) from 成绩表 group by 课程号)
105 3-245 45
109 3-245 54
我写的怎么没吧6-166的带出来,还有null的那个也没带出来
6 个解决方案
#1
select
a.*
from
成绩表 a,
(select 课程号,avg(分数) as 分数 from 成绩表 group by 课程号)b
where
a.课程号=b.课程号
and
a.分数<b.分数
#2
select * from 成绩表 a where 分数 <(select AVG(分数) from 成绩表)
这样可以不?
这样可以不?
#3
老大,在另外写一个方式 让我学学
#4
select 学号,课程号,成绩
from sc awhere 成绩<(select avg(成绩)
from sc b
where a.课程号=b.课程号)
from sc awhere 成绩<(select avg(成绩)
from sc b
where a.课程号=b.课程号)
#5
相关子查询:
SELECT *
FROM 成绩表 AS a
WHERE 成绩 < (
SELECT AVG(成绩)
FROM 成绩表 AS b
WHERE a.课程号 = b.课程号)
SELECT *
FROM 成绩表 AS a
WHERE 成绩 < (
SELECT AVG(成绩)
FROM 成绩表 AS b
WHERE a.课程号 = b.课程号)
#6
try this,
select a.*
from 成绩表 a
inner join
(select 课程号,
avg(分数) '平均分'
from 成绩表
group by 课程号) b on a.课程号=b.课程号 and a.分数<b.平均分
#1
select
a.*
from
成绩表 a,
(select 课程号,avg(分数) as 分数 from 成绩表 group by 课程号)b
where
a.课程号=b.课程号
and
a.分数<b.分数
#2
select * from 成绩表 a where 分数 <(select AVG(分数) from 成绩表)
这样可以不?
这样可以不?
#3
老大,在另外写一个方式 让我学学
#4
select 学号,课程号,成绩
from sc awhere 成绩<(select avg(成绩)
from sc b
where a.课程号=b.课程号)
from sc awhere 成绩<(select avg(成绩)
from sc b
where a.课程号=b.课程号)
#5
相关子查询:
SELECT *
FROM 成绩表 AS a
WHERE 成绩 < (
SELECT AVG(成绩)
FROM 成绩表 AS b
WHERE a.课程号 = b.课程号)
SELECT *
FROM 成绩表 AS a
WHERE 成绩 < (
SELECT AVG(成绩)
FROM 成绩表 AS b
WHERE a.课程号 = b.课程号)
#6
try this,
select a.*
from 成绩表 a
inner join
(select 课程号,
avg(分数) '平均分'
from 成绩表
group by 课程号) b on a.课程号=b.课程号 and a.分数<b.平均分