Hi
ich speichere Aktienkurse in einer Datenbank. Für jeden Tag und jede Aktie ein Wert. Nun will ich beispielsweise einen Chart über 10 Jahre zeichnen und dafür natürlich nicht jeden Tag sondern nur jeden Monat einzeichnen. Gibt des eine Möglichkeit per SQL nur jede zwanzigste Row auszulesen oder immer nur den ersten Tag eines Monats auszusen?
jeden 20. Datensatz zu lesen duerfte voraussetzen, dass du eine durchgehende Nummerierung hast. Einfacher duerfte es fuer dich sein, anhand des Datums zu gruppieren/selektieren
in Prosa: Selektiere jeden Datensatz fuer jede Aktie wo das Datum dem kleinsten oder groessten Datum des jeweiligen Monats der gleichen Aktie entspricht.
SELECT *
FROM AktienPreise t
WHERE t.Datum = (SELECT MIN(Datum)
FROM AktienPreise t2
WHERE t2.Aktienkennung = t1.Aktienkennung
AND MONTH(t2.Datum) = MONTH(t.Datum)
AND YEAR(t2.Datum) = YEAR(t.Datum))... so ungefaehr (mit Absicht nicht die Loesung auf dem Silbertablett)
Hi danke. Das sieht doch soweit richtig aus und funktioniert auch? Was ist daran nicht korrekt? (einziges Problem ist, dass es nicht ganz so schnell läuft -> 3 sek)