lintry

增加新增数

......@@ -36,28 +36,36 @@ module.exports = function (dbo) {
select generate_series('2020-01-24'::date, CURRENT_DATE, '1 days')::date today
)
, stats as (
select province_short_name province, d.today, max(confirmed_count) confirmed_count
select country, province_short_name province, d.today, max(confirmed_count) confirmed_count
from days d
left join tb_mf_timeline_area ta on ta.update_time::date = d.today
where 1=1
and province_name ~ :province
group by 1,2
order by 2, 1
group by 1,2,3
order by 1,2,3
)
, pr as (
select province from stats group by 1
select country, province from stats group by 1,2
)
, dat as(
select pr.province, d.today, COALESCE(st.confirmed_count, max(st.confirmed_count) over(partition by pr.province order by d.today)) confirmed_count
select pr.country, pr.province, d.today, COALESCE(st.confirmed_count, max(st.confirmed_count) over(partition by pr.province order by d.today)) confirmed_count
from pr
cross join days d
left join stats st on st.province = pr.province and st.today = d.today
order by 1,2
order by 1,2,3
)
select province, max(confirmed_count) max_count, jsonb_agg(today) days, jsonb_agg(confirmed_count) confirmed_counts
, rpt as (
select country, province, today, confirmed_count, confirmed_count - COALESCE(lag(confirmed_count) over(partition by country, province order by today), 0) increase
from dat
group by 1
order by 2 desc
)
select country, province, max(confirmed_count) max_count, jsonb_agg(today) days, jsonb_agg(confirmed_count) confirmed_counts,
jsonb_agg(increase) increase,
max(confirmed_sum) confirmed_sum,
max(increase_sum) increase_sum
from ( select *, sum(confirmed_count) over(partition by country, today) confirmed_sum, sum(increase) over(partition by country, today) increase_sum from rpt
) t
group by 1,2
order by country, confirmed_counts desc
`, {replacements: {province}, type: dbo.QueryTypes.SELECT});
return Result.Ok('成功!', result);
......