写的sql语句怎末修改成表明f是女然后m是男as怎莫加 并且表明avg(grade)是平均成绩

image.png目前是这样

select SEX 性别  ,AVG(GRADE)  from STSCORE where sex='F'  group by SEX

union

select SEX 性别   ,AVG(GRADE)  from STSCORE where sex='M'  group by SEX

SQL 帆软用户u2FKa5vopL 发布于 2023-10-13 09:38 (编辑于 2023-10-13 09:41)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-10-13 09:40(编辑于 2023-10-13 09:41)

select '女' as 性别,AVG(GRADE)  from STSCORE where sex='F'  group by SEX

union all

select '男' as 性别,AVG(GRADE)  from STSCORE where sex='M'  group by SEX

最佳回答
0
snrtuemcLv8专家互助
发布于2023-10-13 09:40

select "男" as SEX   ,AVG(GRADE)  from STSCORE where sex='F'  group by SEX

union

select "女" as SEX  ,AVG(GRADE)  from STSCORE where sex='M'  group by SEX

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-10-13 09:41(编辑于 2023-10-13 09:41)

select (case when SEX='F' then '女' else '男' END) [性别]  ,AVG(GRADE)  [平均分] from STSCORE group by sex

最佳回答
0
标哥制表Lv2见习互助
发布于2023-10-13 13:57(编辑于 2023-10-13 15:12)

试下这个结构

1)SQL SERVER 测试可以用

<

SELECT  CASE SEX  WHEN 'F' Then '女'  WHEN 'M' Then '男'  END AS 性别,  AVG(GRADE) AS 平均成绩  FROM STSCORE  GROUP BY SEX

>

2)SQL SERVER 与Excel 都测试了可以用

<

SELECT '女' AS 性别,AVG(GRADE) AS 平均成绩 FROM STSCORE WHERE SEX='F' GROUP BY SEX

UNION ALL

SELECT '男' AS 性别,AVG(GRADE) AS 平均成绩 FROM STSCORE WHERE SEX='M' GROUP BY SEX

>

3)还可以这样,但方向与你的不一致

<

SELECT SUM(IIF(SEX='F',GRADE,0))/SUM(IIF(SEX='F',1,0)) AS '女' 

,SUM(IIF(SEX='M',GRADE,0))/SUM(IIF(SEX='M',1,0)) AS '男'

FROM STSCORE

>

image.png

  • 3关注人数
  • 261浏览人数
  • 最后回答于:2023-10-13 15:12
    请选择关闭问题的原因
    确定 取消
    返回顶部