绝对不是因为我懒滥竽充数
union
SELECT *
FROM (
SELECT *
FROM tem_diff_0
union
SELECT *
FROM tem_diff_1
union
SELECT *
FROM tem_diff_2)
where t= 'ZNneLO***'
注意点:
union可以对字段名不同但数据类型相同的结果集进行合并
union 结果集不包括重复行,进行默认排序
union all 结果集包括重复行,不进行排序
按照 周,月,季度,年进行分组统计
日:yyyymmdd
月:YYYY-MM
自然周:
季度:
年:
——————按月统计
SELECT to_char(create_date,'YYYY-MM'),COUNT(distinct diff_id)
FROM atem_diff
where city_code='574' and create_date > to_date('2016-07-01', 'yyyy-mm-dd')
GROUP BY to_char(create_date,'YYYY-MM')
order by to_char(create_date,'YYYY-MM') asc
COUNT 可用 sum(1) 代替
——————按天统计
SELECT to_char(create_date,'YYYY-MM-DD'),COUNT(distinct shop_id)
FROM amshop.ms_shop
where city_code='574' and create_date > to_date('2021-06-01', 'yyyy-mm-dd')
GROUP BY to_char(create_date,'YYYY-MM-DD')
order by to_char(create_date,'YYYY-MM-DD') asc
MIN(created_time)可以展示出每个自然周的起始日期
————按自然周统计
SELECT to_char(create_date,'iw'),COUNT(distinct shop_id) ,min(create_date)
FROM amshop.ms_shop
where city_code='574' and create_date > to_date('2021-06-01', 'yyyy-mm-dd')
GROUP BY to_char(create_date,'iw')
order by min(create_date) asc
——————按季统计
SELECT to_char(create_date,'q'),COUNT(distinct shop_id) ,min(create_date)
FROM amshop.ms_shop
where city_code='574' and create_date > to_date('2021-06-01', 'yyyy-mm-dd')
GROUP BY to_char(create_date,'q')
order by min(create_date) asc
——————按年统计
SELECT to_char(create_date,'YYYY'),COUNT(distinct shop_id)
FROM amshop.ms_shop
where city_code='574' and create_date > to_date('2021-06-01', 'yyyy-mm-dd')
GROUP BY to_char(create_date,'YYYY')
order by to_char(create_date,'YYYY') asc
文章展示了如何使用SQL的UNION操作合并不同表的数据,并通过COUNT和GROUPBY按月、天、自然周、季度和年对数据进行统计分析。示例查询包括对特定城市的店铺数据进行计数和时间周期分组,强调了如何避免重复行、选择合适的日期格式以及利用MIN函数获取周期起始日期。

3079

被折叠的 条评论
为什么被折叠?



