sql 字段求和_SQL语句的高级操作实际训练

SQL语句的高级操作实际训练

以下为所用的知识点

数据分组:

group by

having(用在group by 后)

数据排序:

正序:order by 字段

倒序:order by 字段 desc

多表联查

公式:select * from 表1 join 表2 on 表1.字段1 = 表2.字段2 where 表1.字段1=值;

判断符:

注意:in/is/like/between 可以加 not 取反意

=

<

>

!= 不等于

in 表示在什么什么里面 后面要加括号()

is 查询是否为null

like 用于字符串的查询

between 表示在两者之前 查询数字的时候用

逻辑连接符:

注意:and/or可以加 not 取反义

and 并且

or 或者

聚合函数如下

count 统计数

max 最大值

min 最小值

avg 平均值

sum 求和

练习题如下图

79bd17fe99adb86b84fc139ca8089914.png

根据题目要求做好两张表 ↓

表1:cust

3c77143e47ef49db0c9d03efbc4ef7a6.png

表2:mark

f35aa02b7d02e65e5da6f80a9e38e0bf.png

第一题答案为

select avg(b.english) from cust a join mark b on a.studentno = b.studentno;

所得结果为

dcff7d756d7e96cd01788c082cf258fc.png

第二题答案为

select b.math,a.`name`,a.address,a.telno from cust a join mark b on a.studentno = b.studentno where a.studentno in(11,22,33,44,55);

所得结果为

380ee62f08214b07b0f722acb05ff910.png

第三题答案为

select a.`name`,b.computer from cust a join mark b on a.studentno = b.studentno order by b.computer desc;

所得结果为

8a8cdc8ba4e1d6e54a03fb6a957da7fd.png

第四题答案为

select a.studentno,a.`name`,sum(b.english+b.math+b.computer) zcj from cust a join mark b on a.studentno = b.studentno GROUP BY a.studentno HAVING zcj > 240 order by zcj desc;

所得结果为

93d372881d4a42dc216c6156e7994bec.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用GROUP BY子句对多个字段进行分组,同时使用SUM函数对需要求和字段进行求和。示例语句如下: ``` SELECT field1, field2, SUM(field3) FROM table GROUP BY field1, field2 ``` 其中,field1和field2是需要进行分组的字段,field3是需要进行求和字段。在SELECT语句中,使用SUM函数对field3进行求和。最后使用GROUP BY子句指定分组的字段。 ### 回答2: 在SQL中,我们可以使用GROUP BY子句对多个字段进行分组,并使用SUM函数对单个字段进行求和。 首先,我们需要使用SELECT语句选择需要分组和求和字段。例如,我们有一个包含订单信息的表格,其中包含订单号、客户名和订单金额等字段。 我们可以使用如下的SQL查询语句对订单金额进行求和,并按照客户名和订单号进行分组: SELECT 客户名, 订单号, SUM(订单金额) AS 总金额 FROM 订单表 GROUP BY 客户名, 订单号 在上述查询语句中,我们使用了SUM函数来对订单金额进行求和,并使用GROUP BY子句按照客户名和订单号进行分组。最后,使用AS关键字给求和结果起了一个别名“总金额”。 执行上述查询语句后,我们将会得到一个结果集,其中包含每个客户和订单号对应的总金额。 需要注意的是,如果我们只需要按照客户名进行分组并对订单金额进行求和,那么查询语句可以简化为: SELECT 客户名, SUM(订单金额) AS 总金额 FROM 订单表 GROUP BY 客户名 以上就是使用SQL进行多字段分组和单字段求和的简单介绍。希望对你有所帮助! ### 回答3: 在SQL中,可以使用GROUP BY子句将数据按照多个字段进行分组。如果需要在每个分组中对某个字段进行求和操作,则可以使用SUM函数。 假设有一个表格t,包含以下字段字段A、字段B和字段C。现在我们想要按照字段A和字段B进行分组,并对字段C进行求和。 可以使用以下SQL语句来实现: SELECT 字段A, 字段B, SUM(字段C) AS 求和结果 FROM t GROUP BY 字段A, 字段B; 上述语句指定了要从表格t中选择字段A和字段B,然后根据字段A和字段B的值进行分组。在每个分组中,使用SUM函数对字段C进行求和,并将求和结果作为"求和结果"别名返回。 例如,如果表格t中有以下数据: 字段A | 字段B | 字段C -------------------- A | X | 10 A | Y | 20 B | X | 15 B | Y | 25 则执行上述SQL语句后,返回的结果将是: 字段A | 字段B | 求和结果 -------------------- A | X | 10 A | Y | 20 B | X | 15 B | Y | 25 可以看到,结果按照字段A和字段B的值进行了分组,并在每个分组中计算了字段C的总和。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值