java分组还是sql分组_sql分组统计“group by”

GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。

准备数据

先准备数据,数据如图所示:

data.png

按app字段分组

select

fun(logs.id) as c, -- fun表示聚合函数

logs.app

from public.logs as logs

group by logs.app;

计数 count

select

count(logs.id) as c,

logs.app

from public.logs as logs

group by logs.app

order by c desc

limit 10;

求和 sum

select

sum(logs.packets) as s,

logs.app

from public.logs as logs

group by logs.app

order by s desc

limit 10;

求均值 avg

select

avg(logs.packets) as s,

logs.app

from public.logs as logs

group by logs.app

order by s desc

limit 10;

取最大值 max

select

max(logs.packets) as s,

logs.app

from public.logs as logs

group by logs.app

order by s desc

limit 10;

取最小值 max

select

min(logs.packets) as s,

logs.app

from public.logs as logs

group by logs.app

order by s desc

limit 10;

取平均值大于11710, having

select

avg(logs.packets) as s,

logs.app

from public.logs as logs

group by logs.app

having avg(logs.packets) > 11710

order by s desc

limit 10;

大小写 upper 和 lower

select upper(logs.d_region), lower(logs.s_region)

from public.logs as logs

limit 10;

字符串长度

select length(logs.d_region) as length_of_region

from public.logs as logs

limit 10;

取平均值大于11710,并且四舍五入 round

select

round(avg(logs.packets), 2) as s,

logs.app,

now() as date

from public.logs as logs

group by logs.app

HAVING avg(logs.packets) > 11710

order by s desc

limit 10;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值