34,594
社区成员
发帖
与我相关
我的任务
分享
姓名 课程 成绩
aa 语文 88
CREATE TABLE [tb] ([姓名] [nvarchar](10),[课程] [nvarchar](10),[成绩] [int])
INSERT INTO [tb]
SELECT 'aa','语文',65 UNION ALL
SELECT 'aa','数学',66 UNION ALL
SELECT 'aa','英语',87 UNION ALL
SELECT 'bb','语文',90 UNION ALL
SELECT 'bb','数学',66 UNION ALL
SELECT 'bb','英语',66 UNION ALL
SELECT 'cc','语文',100 UNION ALL
SELECT 'cc','数学',55 UNION ALL
SELECT 'cc','英语',55
select A.姓名,A.课程,A.成绩,avg(C.成绩) as 平均成绩 from tb A,tb C
where A.姓名='aa' and A.课程='语文' and C.姓名='aa'
group by A.姓名,A.课程,A.成绩
--结果
aa 语文 65 72
select 学号,姓名,
语文成绩=max(case when 课程='语文' then 成绩 end),
数学成绩=max(case when 课程='数学' then 成绩 end),
英语成绩=max(case when 课程='英语' then 成绩 end),
平均成绩=avg(成绩)
from tb
group by 学号,姓名
SELECT 学号,姓名,(语文成绩+数学成绩+英语成绩)/3. AS 平均成绩 FROM tb WHERE 姓名='具体姓名'
select 学号,姓名,语文成绩, (语文成绩+数学成绩+英语成绩)/3 as 平均成绩 from tb where
姓名 = '张三'
select 学号,姓名,语文成绩,avg(语文成绩+数学成绩+英语成绩) as 平均成绩 from tb where
姓名 = '张三'
SELECT 学号,姓名,(语文成绩+数学成绩+英语成绩)/3. AS 平均成绩