MySQL-初阶

SQL常用命令及顺序:

顺序:

from-where-groupby-having-select-orderby-limit

select * (必须)

from 表1

join 表2

where 条件

group by 字段

having 条件

order by 字段

limit ...

2.1 检索数据(select语句)

去重检索:"订单表”中的销售人员有哪些

select distinct sales_name
from spm_order

2.2 限定条件(where)

从订单表中筛选出"北上广深杭"这五个城市,利润大于等于0,并且产品名称包含笔的所有订单

select * from spm_order
where city in ('北京','上海','广州','深圳','杭州')
and profit >= 0 and product_name like '%笔%'

3 SQL创建计算字段

3.1 计算字段(加减乘除)

在订单表中加入新字段:平均销售额(销售额/数量)

select *, 
sales/quantity as '平均销售额'
from spm_order

3.2 拼接字段(concat)

在订单表中加入新拼接字段,把城市和销售拼接起来作为新拼接字段
 

select CONCAT(city,'-',sales_name) 
from spm_order

4.数据分组、过滤与排序

4.1数据分组(group by)

计算销售人员在2018年的销售额和利润
 

select sales_name,sum(sales),sum(profit)
from spm_order
where order_date BETWEEN '2018-01-01' and '2018-12-31'
GROUP BY sales_name

4.2 数据过滤(having)

计算销售人员在2018年的销售额和利润,并且只显示利润大于10w的销售人员

select sales_name,sum(sales),sum(profit)
from spm_order
where order_date BETWEEN '2018-01-01' and '2018-12-31'
GROUP BY sales_name
having sum(profit) > 100000

4.3 结果排序(order by .... desc)

计算销售人员在2018年的销售额和利润,并且只显示利润大于10w的销售人员,按销售额降序排列

select sales_name,sum(sales),sum(profit)
from spm_order
where order_date BETWEEN '2018-01-01' and '2018-12-31'
GROUP BY sales_name
having sum(profit) > 100000
order by sum(sales) desc

常见日期命令

 在订单表增加一个“送货天数”的新字段

select order_date,ship_date,DATEDIFF(ship_date,order_date) as "送货天数"
from spm_order

在订单表增加一个“订单月份”的新字段

select order_date, DATE_FORMAT(order_date,'%Y-%m') as "订单月份"
from spm_order

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值