问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL怎样同时查询多个学生多个科目的成绩?

发布网友 发布时间:2022-04-25 05:41

我来回答

6个回答

热心网友 时间:2022-04-10 14:54

这个用到行转列

SELECT
`姓名编号`,    MAX(        CASE
WHEN  course='项目1' THEN
"内容"        END
) AS '项目1',    MAX(        CASE
WHEN course='项目2' THEN
"内容"        END
) AS '项目2',
MAX(        CASE
WHEN course='项目3' THEN
"内容"        END
) AS '项目3' FROM
studentGROUP BY `姓名编号`

你可以参考下网站:网页链接

热心网友 时间:2022-04-10 16:12

首先,确保每个项目只有一项内容
select
姓名编号,
(select max(内容) from 成绩表 b where a.姓名编号=b.姓名编号 and b.项目名称='项目1') 内容1,
(select max(内容) from 成绩表 b where a.姓名编号=b.姓名编号 and b.项目名称='项目2') 内容2,
......
from 成绩表 a追问你这回答没头没尾,劣者看不懂啊

追答如果给的表是成绩表(编号,项目,内容),假设成绩表里面的内容有
1,项目1,内容1
1,项目2,内容2
那么语句就写成
select
distinct 姓名编号,
(select max(内容) from 成绩表 b where a.姓名编号=b.姓名编号 and b.项目名称='项目1') 内容1,
(select max(内容) from 成绩表 b where a.姓名编号=b.姓名编号 and b.项目名称='项目2') 内容2
from 成绩表 a
就行了,
那么结果就是
1,内容1,内容2
有几个项目名称就加几条select max

热心网友 时间:2022-04-10 17:46

SELECT * FROM table AS P
PIVOT
( SUM(成绩分数) FOR
p.科目名称 IN (科目1,……科目N)
) AS T

select 姓名,
max(case when 科目='语文' then 分数 end) as 语文,
max(case when 科目='数学' then 分数 end) as 数学,
max(case when 科目='英语' then 分数 end) as 英语
from 表名 group by 姓名
仅供参考!

热心网友 时间:2022-04-10 19:38

SELECT * FROM table AS P
PIVOT
( SUM(成绩分数) FOR
p.科目名称 IN (科目1,……科目N)
) AS T

热心网友 时间:2022-04-10 21:46

SELECT * FROM table AS b
PIVOT
( SUM(成绩分数) FOR
b.科目名称 IN (科目1,……科目N)
) AS a

select 姓名,
max(case when 科目='语文' then 分数 end) as 语文,
max(case when 科目='数学' then 分数 end) as 数学,
max(case when 科目='英语' then 分数 end) as 英语
from 表名 group by 姓名

热心网友 时间:2022-04-11 00:10

select * from 
   table as p
  pivot
    (sum(成绩分数) for p.科目名称   in(科目1,科目2,科目3..科目N)  )
  as T

如有疑问,及时沟通!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win10电脑hdmiwin10笔记本hdmi连接电视没反应 平板电脑与电视机联接华为平板怎么投屏到电视上 长虹chiq电脑无线投影如何无线把电脑屏幕投影到电视屏幕上 模拟电视电脑系统智能电视怎么变成电脑系统 ops电脑加装固态硬盘ops电脑是什么意思 我想问一下立宇泰电子的ARMSYS6410开发板可以外接什么模块? 小心那些处理过的2元绿幽灵,教你这几招就能识别! 如何辨别人民币是否水洗过,刚有兴趣做收藏可去买第四套人民币还有是否水... oppor7splus手机怎么样现在?照相好不好。是多会儿出来的机子呢。目前... ps怎么改像素大小且不模糊 简单SQL语句,查询成绩 2019年邮政年金保险 怎么用SQL的查询语句列出某同学所有课程的课程名和成绩啊,并按成绩从... 2019保险公司年金产品 合众人寿年金保险都有些什么? 查询学生总成绩的sql语句 2019年的开门红年金险还值得买吗?想买开门红但是又不是很懂,怕吃亏 可不可以用一条SQL语句查询多人各自成绩的总和? 平安人寿金瑞人生年金险好不好?值不值得买? 如何使用sql编写查询语句 用于查询学生的 各科成绩 查询成绩的SQL语句是什么? sql语句查询成绩最高的学生 年金保险2019最高利率 每年交15000年金保险,交满十年,可领取多少钱? SQL查询学生成绩 年金险为什么这么贵啊?2019年买年金险还划算吗? 2019年年金保险新品 旅行的时候没有带电脑包。于是用羽绒服包电脑放在行李箱子里以防碰坏。这样会烧坏电脑吗? 坐地铁过安检的时候我把电脑包放行李箱里面要不要再拿出来检查 乘飞机时候电脑双肩包和小皮箱能同时作为随身行李带上飞机吗? sql查询成绩表里成绩最高的同学的学号 一个sql查询成绩语句问题 用SQL语句查询各门课程的平均成绩,结果按平均成绩排序· 5.用SQL命令查询所有学生的学号、姓名、总成绩、平均成绩。 sql简单查询语句 win10系统鼠标左键不好使鼠标点不了东西? 使用SQL SELECT语句查询每个学生的平均成绩,在线等。 创建SQL查询,用SELECT语句为"成绩"表各科成绩做一个A,B,C的等级评分 SQL语句查询每个学生的学号、姓名、平均成绩、最高成绩和最低成绩 任务栏左键点击无反应,刚更新的win10,这是怎么回事 win10开始菜单左键点击无响应怎么办? SQL查询平均成绩 成绩sql 查询 win10系统开始键、音量键、网络键、电池键还有日期时间,左键单击没反应? Win10开始菜单左键没反应 任务栏应用右键无发应? Win10桌面底部任务栏鼠标左击无反应,右键正常 我的电脑任务栏按左键没有反应了,win10系统,怎么办? win10开始菜单及搜索左键点击没反应,什么原因 Win10笔记本,双击左键有时候没反应,有时候变成拖动文件(如图),不是鼠标的问题 中世纪2魔戒城市代码