ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql基础入门总结----聚类函数,汇总,分组筛选,ROLLUP

2021-11-16 13:01:57  阅读:192  来源: 互联网

标签:count invoices mysql ROLLUP sales ---- invoice 子句 total


聚类函数,汇总,分组筛选,ROLLUP

max() min() sum() avg() count()

select
    max(invoice_total) as highest,
    min(invoice_total) as lowest,
    avg(invoice_total) as average,
    sum(invoice_total) as total,
    count(invoice_total * 1.1) as number_of_invoices,
    count(payment_date) as count_of_payments, -- 空值不会参与计数
    count(*) as total_records
    count(distinct client_id) as number_of_clients
 from invoices
 where invoice_date >= '2019-07-01'

group by 子句

select 
    state,
    city,
    sum(invoice_total) AS total_sales
from invoices 
join clients using (client_id)
where invoice_date >= '2019-07-01'
group by state, city
order by total_sales desc

having 子句

select 
    client_id,
    sum(invoice_total) as total_sales
from invoices
group by client_id 
having total_sales > 500 -- 对于汇总后的字段使用having,使用where会产生找不到total_sales字段的报错
						-- having 子句筛选的字段,必须是select子句中有的字段

ROLLUP 子句

select 
    state,
    city,
    sum(invoice_total) as total_sales
from invoices
join clients using (client_id)
group by state, city with rollup -- ROLLUP操作符会对每个分组进行求和,这里会看到每个分组的求和,以及整个结果集的求和 (mysql特有)
								-- 如果使用了ROLLUP操作符,就不能在group by子句中使用别名

标签:count,invoices,mysql,ROLLUP,sales,----,invoice,子句,total
来源: https://www.cnblogs.com/woshi123/p/15560660.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有