标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。