echo $begrüßung;
Ich möchte nun einen (schnellen) query bauen, der mir JEWEILS die
ANZAHL aller Zeilen zurückgibt, die innerhalb eines Anfangs- und
Endzeitpunktes liegen, aber gruppiert nach einem frei bestimmbaren
Intervall.
Ob er schnell ist, müsstest du messen. Bei der Lösung, die mir einfällt, muss für jeden Datensatz innerhalb deines Intervalls der Gruppierungswert berechnet werden. Das gibts nicht kostenlos.
Wie muß der Query aussehen, wenn ich die Häufigkeiten (Anzahl der
Zeilen) innerhalb eines beliebigen Anfangs- und Endzeitpunktes
z.b. 30 <= created <= 500 unter Angabe des Gruppier-Intervalls
(z.b. 60 Sekunden) haben will
Die "Anzahl der Zeilen" bekommt ein COUNT(*) in der SELECT-Klausel hin.
"Innerhalb eines beliebigen Anfangs- und Endzeitpunktes" kann durch eine einfache WHERE-Klausel sichergestellt werden. (x BETWEEN a AND b oder x >= a AND x <= b)
Die "Angabe des Gruppier-Intervalls" müsste berechnet werden.
Mit [...] Programmlogik wäre das kein Problem,
Wie sähe denn deine Programmlogik aus? Meine nähme zur Ermittlung des Gruppierungswertes den created-Spaltenwert, zöge den Wert des Anfangszeitpunkts ab und ermittelte dann durch eine Integerdivision mit dem Intervall-Wert eine Zahl ohne Komma und Rest.
schick wäre zudem ein Limit, was mir die Anzahl der zurückgegebenen
count-zeilen begrenzt...
Solange da das DBMS mitspielt ist das kein Problem. Wenn es keine LIMIT-Klausel oder dergleichen kennt, gibt es sicherlich Workarounds.
(Die Tabelle ist seeeeeeehr groß, ca. 1mio Zeilen..., und Performance spielt eine
große Rolle...).
Tja... Da wird sich so einfach nicht viel machen lassen. Vielleicht ist es besser, wenn du ein Extra-Feld mit dem bereits berechneten Gruppierungswert anlegst. Doch ich befürchte, dass sich das aufgrund variabler Ausgangsparameter nicht machen lässt.
echo "$verabschiedung $name";