可不可以用一条SQL语句查询多人各自成绩的总和?

可不可以用一条SQL语句查询多人各自成绩的总和?,第1张

查询多人各自成绩的总和sql语句如下:

select name,SUM(score)

from test2

group by name

按姓名分组,查看每个学生的优良中差统计:

SELECT sname, count(snum) 总数,

sum(case when snum<60 then 1 else 0 end) AS 不合格,

sum(case when snum>=60 AND snum<70 then 1 else 0 end) AS 中,

sum(case when snum>=70 AND snum<90 then 1 else 0 end) AS 良,

sum(case when snum>=90 then 1 else 0 end) AS 优

FROM test.Score

group by sname

扩展资料

SQL中Group By的使用:

“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。

示例:

select 类别, sum(数量) as 数量之和

from A

group by 类别

这段代码实际上就是分类汇总。

在Access中不可以使用“order by 数量之和 desc”,但在SQL Server中则可以。

需要注意的一点,在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。

按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句示例如下:

select A.name,

(select B.score from table_score B where B.type='数学' and A.id=B.id)as 数学,

(select B.score from table_score B where B.type='语文' and A.id=B.id)as 语文,

(select B.score from table_score B where B.type='英语' and A.id=B.id) as 英语,

(select SUM(B.score) from table_score B where A.id=B.id) as sum_score

from table_student A order by  sum_score DESC

以上sql语句首先把学生表和成绩表联合查出每个学生的数学、语文、英语成绩,然后通过select SUM(B.score) from table_score B where A.id=B.id查出每个学生的总成绩。

最后order by  sum_score DESC实现按总成绩倒叙排列。

/iknow-pic.cdn.bcebos.com/5d6034a85edf8db1650ea8660623dd54564e7494"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/5d6034a85edf8db1650ea8660623dd54564e7494?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/5d6034a85edf8db1650ea8660623dd54564e7494"/>

扩展资料

上述sql语句重点是对as关键字的使用-Alias(别名),通过使用SQL,可以为列名称和表名称指定别名(Alias)。

表的SQLAlias语法

SELECTcolumn_name(s)FROMtable_nameASalias_name;

列的SQLAlias语法

SELECTcolumn_nameASalias_nameFROMtable_name;

Alias实例:使用表名称别名

假设我们有两个表分别是:"Persons"和"Product_Orders"。我们分别为它们指定别名"p"和"po"。

现在,我们希望列出"JohnAdams"的所有定单。

我们可以使用下面的SELECT语句:

SELECTpo.OrderID,p.LastName,p.FirstNameFROMPersonsASp,Product_OrdersASpoWHEREp.LastName='Adams'ANDp.FirstName='John'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6766813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存