lintry

增加新增数

...@@ -36,28 +36,36 @@ module.exports = function (dbo) { ...@@ -36,28 +36,36 @@ module.exports = function (dbo) {
36 select generate_series('2020-01-24'::date, CURRENT_DATE, '1 days')::date today 36 select generate_series('2020-01-24'::date, CURRENT_DATE, '1 days')::date today
37 ) 37 )
38 , stats as ( 38 , stats as (
39 - select province_short_name province, d.today, max(confirmed_count) confirmed_count 39 + select country, province_short_name province, d.today, max(confirmed_count) confirmed_count
40 from days d 40 from days d
41 left join tb_mf_timeline_area ta on ta.update_time::date = d.today 41 left join tb_mf_timeline_area ta on ta.update_time::date = d.today
42 where 1=1 42 where 1=1
43 and province_name ~ :province 43 and province_name ~ :province
44 - group by 1,2 44 + group by 1,2,3
45 - order by 2, 1 45 + order by 1,2,3
46 ) 46 )
47 , pr as ( 47 , pr as (
48 - select province from stats group by 1 48 + select country, province from stats group by 1,2
49 ) 49 )
50 , dat as( 50 , dat as(
51 - select pr.province, d.today, COALESCE(st.confirmed_count, max(st.confirmed_count) over(partition by pr.province order by d.today)) confirmed_count 51 + 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
52 from pr 52 from pr
53 cross join days d 53 cross join days d
54 left join stats st on st.province = pr.province and st.today = d.today 54 left join stats st on st.province = pr.province and st.today = d.today
55 - order by 1,2 55 + order by 1,2,3
56 ) 56 )
57 - select province, max(confirmed_count) max_count, jsonb_agg(today) days, jsonb_agg(confirmed_count) confirmed_counts 57 + , rpt as (
58 + select country, province, today, confirmed_count, confirmed_count - COALESCE(lag(confirmed_count) over(partition by country, province order by today), 0) increase
58 from dat 59 from dat
59 - group by 1 60 + )
60 - order by 2 desc 61 + select country, province, max(confirmed_count) max_count, jsonb_agg(today) days, jsonb_agg(confirmed_count) confirmed_counts,
62 + jsonb_agg(increase) increase,
63 + max(confirmed_sum) confirmed_sum,
64 + max(increase_sum) increase_sum
65 + from ( select *, sum(confirmed_count) over(partition by country, today) confirmed_sum, sum(increase) over(partition by country, today) increase_sum from rpt
66 + ) t
67 + group by 1,2
68 + order by country, confirmed_counts desc
61 `, {replacements: {province}, type: dbo.QueryTypes.SELECT}); 69 `, {replacements: {province}, type: dbo.QueryTypes.SELECT});
62 70
63 return Result.Ok('成功!', result); 71 return Result.Ok('成功!', result);
......