MySQL(三)

目录

1、聚合函数

         2、GROUP BY 子句

         3、HAVING子句

         4、ROLLUP 运算符


1、聚合函数

MAX(),MIN(),AVG(),SUM(),COUNT()
(只运算非空值)
SELECT
MAX(invoice_total) AS highest,    (最大值可以查出最近的日期)
MIN(invoice_total) AS lowest,
AVG(invoice_total) AS average,
SUM(invoice_total * 1.1) AS total,    (每个值都乘完后算和)
COUNT( DISTINCT invoice_total) AS num_of_invoices,   (去重)
FROM invoice
WHERE data = '1999-04-12'

 2、GROUP BY 子句

(分组)
SELECT 
    client_id
    SUM(invoice_total) AS total_sales
FROM invoices
GROUP BY client_id          (分组)(GROUP BY  永远在FROM 和 WHERE 之后 ORDER BY 之前)
ORDER BY total_sales DESC   (倒序)

3、HAVING子句

(HAVING和WHERE的区别就是 :
                            WHERE只能在分组前进行筛选,HAVING可以在分组后进行筛选
                            WHERE可以使用任何列作为条件,HAVING只能使用SELECT子句选中的列
)
SElECT
    client_id
    SUM(invoice_total) AS toatl_sales,
    count(*) AS number_of_invoices
FROM invoices
GROUP BY client_id
HAVING total_sales > 500 AND number_of_invoices > 5

4、ROLLUP 运算符

(求每一个分组的聚合函数的和,和计算所有分组聚合函数的和)
(ROLLUP不可以使用别名)
SELECT
    state,
    city, 
    SUM(invoice_total) AS total_sales
FROM invoices i
JOIN client c USING (client_id)
GROUP BY state,city WITH ROLLUP

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zjc啥也不会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值