Ich habe eine Tabelle namens Programm die folgenden Spalten:HIVE: Finden laufenden Summen
ProgDate(Date) Episode(String) Impression_id(int) ProgName(String)
Ich möchte für jedes Datum Gesamteindrücke, um herauszufinden, und Folge, für die ich die folgenden Abfrage haben, die feine
arbeitetSelect progdate, episode, count(distinct impression_id) Impression from Program where progname='BBC' group by progdate, episode order by progdate, episode;
Result: ProgDate Episode Impression 20160919 1 5 20160920 1 15 20160921 1 10 20160922 1 5 20160923 2 25 20160924 2 10 20160925 2 25
Aber ich möchte auch für jede Episode, die kumulative Summe erfahren. Ich habe versucht, zu suchen, wie man laufende Summe findet, aber es addiert alle vorherigen Summen. i want laufende Summe für jede Folge, wie unten:
Date Episode Impression CumulativeImpressionsPerChannel 20160919 1 5 5 20160920 1 15 20 20160921 1 10 30 20160922 1 5 35 20160923 2 25 25 20160924 2 10 35 20160925 2 25 60
Dank !. Ihre Antwort beantwortet perfekt mein Problem. Nur noch eine Abfrage, wie Sie die gesamte kumulative laufende Summe unabhängig von Datum oder Folge wie folgt erhalten: – Huzefa
'| progdate | Folge | Eindruck | cumimpsperchannel | | ---------- | --------- | ------------ | -------------- ----- | | 20160919 | 1 | 5 | 5 | | 20160920 | 1 | 15 | 20 | | 20160921 | 1 | 10 | 30 | | 20160922 | 1 | 5 | 35 | | 20160923 | 2 | 25 | 60 | | 20160924 | 2 | 10 | 70 | | 20160925 | 2 | 25 | 95 | ' – Huzefa
Entfernen Sie einfach den' partition by .... 'Teil innerhalb der OVER() Klausel, fügen Sie dies zur obigen Abfrage hinzu –