Sprich, ich habe die folgende Tabelle:SQLite-Abfrage für n-ten Tag des Monats
CREATE TABLE Data (
Id INTEGER PRIMARY KEY,
Value DECIMAL,
Date DATE);
Da die Anwendung ist finanzbezogenen, Benutzer kann wählen, an welchem Tag der erste Tag des Monats sein würde. Zum Beispiel, wenn er jeden 10. des Monats Gehalt erhält, kann er den ersten Tag des Monats auf 10 setzen.
Ich möchte eine Abfrage erstellen, die Durchschnittswert für n-ten Tag des Monats zurückgibt, wie vom Benutzer definiert. Zum Beispiel:
Date | Value
---------------+------
10.01.2016 | 10
11.01.2016 | 15
10.02.2016 | 20
11.03.2016 | 10
Ergebnis der Abfrage sollte sein:
Day | Average
----+--------
1 | 15
2 | 12.5
Beachten Sie, dass, wenn der Benutzer ersten Tag bis zum 10. setzt, 9. des Monats 28. sein können, 29., 30. oder 31. Tag ein Monat (abhängig davon, von welchem Monat wir sprechen). Das ist also nicht so einfach wie das Extrahieren der Tagesnummer aus dem Datum.
Ich kann mir vorstellen, dass dies haarig wird, weil verschiedene Monate eine andere Anzahl von Tagen haben. Und für einige Monate (z. B. Februar) variiert die Anzahl der Tage mit dem Jahr. –