jumlah data 12 bulan terakhir yang setiap bulannya memiliki 2 baris data Spark SQL

jadi dataset saya memiliki dua kolom, satu kolom untuk tanggal (yang berisi tanggal mulai bulan dan akhir bulan), kolom kedua berisi hitungan

1-Nov-18    58
30-Nov-18   76
1-Dec-18    93
31-Dec-18   57
1-Jan-19    62
31-Jan-19   78
1-Feb-19    87
28-Feb-19   75
1-Mar-19    54
31-Mar-19   59
1-Apr-19    76
30-Apr-19   79
1-May-19    81
31-May-19   80
1-Jun-19    71
30-Jun-19   52
1-Jul-19    75
31-Jul-19   57
1-Aug-19    76
31-Aug-19   76
1-Sep-19    63
30-Sep-19   57
1-Oct-19    81
30-Oct-19   84
and so on..

saya membutuhkan keluaran saya sebagai

Oktober 2019 1707

pada dasarnya untuk bulan Oktober 2019 saya memerlukan jumlah penghitungan untuk catatan dari 18 November hingga 19 Oktober (12 bulan terakhir), serupa untuk bulan November 2019 saya memerlukan jumlah semua catatan dari 18 Desember hingga 19 November. dan seterusnya pada bulan-bulan lainnya


person HunTer    schedule 13.11.2019    source sumber


Jawaban (2)


Saya rasa yang Anda cari adalah klausa Kelompokkan Berdasarkan dengan jumlah pilihan. Saya tidak dapat memberikan jawaban yang tepat karena saya memerlukan informasi lebih lanjut tentang skema Anda... Apa nama Database Anda, Tabel Database, Nama Kolom...

SELECT `dateField`,SUM(`countField`)
    FROM `TableName`
    GROUP BY `dateField`;

Anda juga dapat melakukan Pengelompokan Berdasarkan Bulan seperti ini:

GROUP BY YEAR('dateField`), MONTH(`dateField`)
person Sari Rahal    schedule 13.11.2019

Saya pikir Anda ingin agregasi dan fungsi jendela dengan RANGE:

select date_trunc(date, 'MM') as mon, SUM(cnt) as month_cnt,
       SUM(SUM(cnt)) OVER (ORDER BY MIN(date)
                           RANGE BETWEEN INTERVAL 11 MONTH PRECEDING AND CURRENT ROW
                          ) as running_12_months
from t
group by date_trunc(date, 'MM');
person Gordon Linoff    schedule 13.11.2019