SQL常见计算方法总结

1. 两列合并
concat(dt, member_id) dtpid
2. 复杂的筛选可以用with … as …
with cond1 as 
(selet ... from ... where ...),

cod2 as
(select ... from ... where ...)

select ... from ... where ...

在最后一个select… from… 中可进行条件筛选

where concat(dt, pid) in (select dtpid from cond1)
3. 带条件计数
count(DISTINCT case when fqc=1 then member_id end)
4. 时间筛选
where ts >= to_unixtime(cast(concat(dt,' 08:00:00') as TIMESTAMP)) 
extract(hour from from_unixtime(ts)) as hr
where dt>='2021-07-01'
max(from_unixtime(ts)) as maxtime
min(from_unixtime(ts)) as mintime

星期一~星期日判断可以用datename函数

5. 空值筛选
where member_id is not NULL 
6. select行除法计算
select 1.0000 * num/total prop from ...

猜你喜欢

转载自blog.csdn.net/m0_59773145/article/details/120141510
今日推荐