01-28-记录下练习时长三天半的MySQL小白练习过程-sum-group by

本文介绍了数据库查询的基础,如SELECT、FROM、WHERE、GROUP BY和ORDER BY子句的使用,展示了如何计算已售产品的总数和按订单行数排序。进一步讲解了子查询的应用,通过示例展示了如何找到购买特定产品BR01的所有客户电子邮件。内容涵盖数据库操作和SQL查询技巧。
摘要由CSDN通过智能技术生成

先简要贴个表,记录select子句及其顺序

子句说明
select要返回的列或者表达式
from从中检索数据的表
where行级过滤
group by分组说明
having组级过滤
order by输出排序顺序

在数据库里面已经安排好了orderitems表单
在zzz 述

--------------------------------------------------------------------------------

确定已售出产品的总数

SELECT SUM(quantity)
FROM orderitems; 

输出得到
在这里插入图片描述
我们还可以对上面的列名重新命名

SELECT SUM(quantity) AS sum_quantity
FROM orderitems;

在select句后面加上as

很简单的可以实现列名的修改
在这里插入图片描述
对刚刚创建的语句进行一个小学二年级程度的修改,可以实现确定已售出产品项BR01的总数

SELECT SUM(quantity) AS sum_quantity
FROM orderitems
WHERE prod_id = 'BR01';

and we get
在这里插入图片描述

------------------------------------------------------------------------------------

下面进阶一小点,加上group by

确定每个订单号有多少行数,并且按照行数对订单号排序

SELECT order_num,COUNT(*) AS order_lines
FROM orderitems
GROUP BY order_num
ORDER BY order_lines;

在这里插入图片描述

------------------------------------------------------------------

再次进阶一点,子查询
返回购买prod_id为BR01的所有顾客的电子邮件
先附上语句

SELECT cust_name,cust_email
FROM customers
WHERE cust_id IN (SELECT cust_id
						FROM orders
						WHERE order_num IN ( SELECT order_num
													FROM orderitems
													WHERE prod_id = 'BR01')
						ORDER BY order_date);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值