34,587
社区成员
发帖
与我相关
我的任务
分享
o --q5
;with T(s_id,avg_score) as
(select X.s_id ,avg(score)
from score,
(select s_id from score where score >= 80
except
select s_id from score where score < 80)
as X
where X.s_id=score.s_id
group by X.s_id
)
select top 3 * from T order by avg_acore desc
;WITH T AS
(SELECT X.S_ID ,AVG_ACORE=AVG(SCORE)
FROM SCORE,
(SELECT S_ID FROM SCORE WHERE SCORE >= 80
EXCEPT
SELECT S_ID FROM SCORE WHERE SCORE < 80)
AS X
WHERE X.S_ID=SCORE.S_ID
GROUP BY X.S_ID
)
SELECT TOP 3 * FROM T ORDER BY AVG_ACORE DESC
不知道能不能你那样写
;with T as
(select X.s_id ,avg_acore=avg(score)
from score,
(select s_id from score where score >= 80
except
select s_id from score where score < 80)
as X
where X.s_id=score.s_id
group by X.s_id
)
select top 3 * from T order by avg_acore desc
;with T(s_id,avg_score) as
(select X.s_id ,avg(score) avg_acore
from score,
(select s_id from score where score >= 80
except
select s_id from score where score < 80)
as X
where X.s_id=score.s_id
group by X.s_id
)
select top 3 * from T order by avg_acore desc
---try
;with T(s_id,avg_score) as
(select X.s_id ,avg(score) as avg_score
from score,
(select s_id from score where score >= 80
except
select s_id from score where score < 80)
as X
where X.s_id=score.s_id
group by X.s_id
)
select top 3 * from T order by avg_acore desc