Zum Inhalt springen

Knifflige Abfrage: Statistiken (Quartal, Uhrzeit)


AJRames

Empfohlene Beiträge

Hi Leute.

Brauch mal dringend eure Hilfe.

Ich muss eine Abfrage erstellen und weiss nicht weiter.

Folgendes:

Ich hab eine Tabelle die Anfragen speichert.

Ich muss jetz ausgeben wieviele Anfragen im ersten Quartal eingegangen sind.

Soweit sogut, aber das jetz auch noch mit Uhrzeit.

Ich hätte es gern so das die Ausgabe der View oder Abfrage die ich erstelle so aussieht:

Zeile1: Anfragen um 7.15 --> 30

Zeile2: Anfragen um 7.30 --> 15

Zeile3: Anfragen um 7.45 --> 12

usw bis 18 Uhr.

Bin grad knapp davor ne While schleife zu machen und die Uhrzeit dann hochzählen zu lassen:

SELECT COUNT(ID) FROM ANFRAGEN WHERE UHRZEIT LIKE ? AND Datum BETWEEN '2009-01-01' AND '2009-04-30';

Statt ? dann immer die Uhrzeit die ich in der While neu erstelle.

Aber das wären pro Quartal 44 abfragen....nicht das Gelbe vom Ei....

Könnt ihr mir evtl. helfen?

Danke schonmal,

Gruß AJ

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke nochmal :)

Echt ne schwere Geburt, aber habs jetz fast, nur noch eine Frage.

Bei mir siehts grad so aus das er nur die Uhrzeiten und Anfragen ausgibt wo bereits eine Anfrage war. Sprich so:

16.30 --> 9

16:45 --> 1

17:00 --> 1

Ich brauch jedoch auch die Info das z.b. um 7:00 Uhr keine Anfrage kam...

Also ne ganze liste von 7 -18 Uhr....wie mach ich das am besten?

z.B.

7:00 --> 0

7:15 --> 1

usw

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, in purem SQL geht das so nicht um zu setzen, da er ja nur existierende Datensätze verarbeiten kann. Dazu müsstest Du über eine Referenztabelle oder Schleife gehen oder alternativ z.B. jede 15 Minuten prüfen, ob Anfragen vorliegen und dann einen Dummydatensatz reinschreiben, sofern keine da sind. Um den Dummy verarbeiten zu können, müsste Dein select dann aber wieder anders aussehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, in purem SQL geht das so nicht um zu setzen, da er ja nur existierende Datensätze verarbeiten kann. Dazu müsstest Du über eine Referenztabelle oder Schleife gehen oder alternativ z.B. jede 15 Minuten prüfen, ob Anfragen vorliegen und dann einen Dummydatensatz reinschreiben, sofern keine da sind. Um den Dummy verarbeiten zu können, müsste Dein select dann aber wieder anders aussehen.

Unterstützt MySQL nicht den WITH - Konstrukt ? Dass wäre dann die Lösung für die "fehlenden" Zeiten

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab mich nochmal schlau gemacht. Es scheint kein WITH bei MySQL zu geben, habe auch kein Pendant gefunden.

Allerdings gelernt, dass WITH als Zusatzfeature im SQL-Standard steht, aber bisher von den DB-System-Entwicklern sträflich vernachlässigt wird. Da gibts sogar ein With-Recursive.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab grad noch gesehen, dass es ja garnicht um MySQL, sondern HSQL geht^^

Hier könnte der CREATE SEQUENCE eventuell weiter helfen, ansonsten kämen eventuell noch über java oder innerhalb der selects berechnete Konvertierungen in Frage, z.B. Ansätze über:

- Datum in entsprechende Zahl (INT) konvertieren und hochzählen

- Uhrzeiten in Anzahl Minuten seit 0 Uhr umrechnen und durch Division in geeignete Segmente unterteilen, die dann in einer normalen (for-)Schleife (oder eben durch join mit der sequence oder einer 1-maligen Referenztabelle) abgearbeitet werden können.

Sollte generell einige Möglichkeiten geben, das auf einem einigermaßen praktikablen Weg zu umgehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...