ich SQL verwende und hier ist das Szenario, das ich mitSQL-Szenario Gruppe eine Dimension
steckteTable A
SubscriptionID | Club | Sum_Of_Billings_Of_All_Month | EventID
Table B:
Cost | EventID
Table A left join Table B on EventID
(Um die Kosten für jedes Abonnement zu verfolgen)
Ergebnis
SubscriptionID | Club | Sum_Of_Billings_Of_All_Month | EventID | Cost
Ich möchte die Sum_Of_Billings_Of_All_Month
in pro Tag Billings zerlegen. für jede Subskription möchte ich die Aufschlüsselung der Abrechnungen pro Tag des Monats. Dafür werde ich group by
Sum_Of_Billings_Of_All_Month
anstelle von subscriptionID
.
Consequence
Wenn ich Gruppe von Tagen nach Rechnungsstellung, beim Zusammenfügen ich Duplikate von subscriptionIDs
bekommen und die eventIDs
wird in Reihen mehrere Zeit dupliziert werden, die dann auch die Kosten mehrfach zählen.
Was ich will:
In derselben Abfrage, ich
SubscriptionID
zur Gruppe der Lage sein will, so kann ich mit ihren Kosten, die einzigartigen Abonnements pro Zeile halten.Aber einer der anderen Voraussetzung ist, dass ich den Zusammenbruch der billings sowie zur Berechnung der Break-even und andere Metriken in derselben Abfrage
Hier ist die tatsächlichen Beispieldaten wissen wollen
Tabelle A
idCustomerSubscription | ClubID | EventId | BillingDate| FinalRevenue
33562784 | 56180001| 5y6m600np1fg | 5/31/2017 | 512
Tabelle B
EventId |Cost
5y6m600np1fg |200
Tabelle A JOIN B auf eventId (Gruppe von SubscriptionID
idCustomerSubscription |ClubID |EventId |BillingDate| FinalRevenue | Cost
33562784 | 56180001 |5y6m600np1fg| 5/31/2017 | 512 |200
Es dient dem Zweck verbinden verlassen, weil jedes Abonnement eine Kosten hat, die auf der einzigartigen, aber es ist Andererseits gibt mir diese Art der Abfrage keine Aufschlüsselung der Rechnungsdaten (ich brauche es für die Breakeven-Berechnung)
Tabelle A j Das würde mir die Aufschlüsselung der Daten oin B links von billingdate
idCustomerSubscription| ClubID |EventId | BillingDate| FinalRevenue |Cost
33562784 | 56180001| 5y6m600np1fg |5/30/2017 |510 |200
33562784 | 56180001| 5y6m600np1fg |5/31/2017 |2 |200
auf eventId (Gruppe beitreten, die ich für Break-even benötigen (510 am 30. und 2 am 31.), aber es werden die Kosten dupliziert (400 machen die Kosten statt 200) kann ich die Anzahl der eindeutigen subcriptions pro Zeile halten und irgendwie eine SQL-Magie will, wo
ich, um herauszufinden, die Abrechnungsdaten der einzelnen Abonnements in derselben Abfrage verfolgen (ohne Gruppierung nach Datum, da die Zeilen dupliziert werden). Ist es möglich ?
Vielleicht eine Art und Weise, wo die Eventids verbunden sind und ihre Gruppierung nach Datum, es verdoppelt nicht die Kosten und zählen nur eine Kosten pro Ereignis?
Beispieldaten und gewünschte Ergebnisse würden wirklich helfen zu vermitteln, was Sie tun möchten. –
Sie sagten, Sie möchten die Sum_Of_Billings_Of_All_Month in pro Tag Billings aufteilen. Also möchten Sie Kalendertage für jeden Monat oder nur Standard 30 folgen. Es wird leicht zu verstehen sein, wenn Sie weitere Beispiele gegeben haben – uSeruSher
aktualisiert die Frage mit Beispiel – PythonDev