AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL Query zum Ermitteln von Besucherstatistiken über mehrere Zeiträume
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Query zum Ermitteln von Besucherstatistiken über mehrere Zeiträume

Ein Thema von Zacherl · begonnen am 25. Sep 2013 · letzter Beitrag vom 26. Sep 2013
Antwort Antwort
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

AW: SQL Query zum Ermitteln von Besucherstatistiken über mehrere Zeiträume

  Alt 25. Sep 2013, 15:22
Kleine Erweiterung um neben der Besucherzahl auch die Anzahl der Zugriffe abzufragen:
SELECT COUNT(DISTINCT ip) as count, COUNT(*) as totalHits FROM webstats WHERE ...

Um die fehlenden Datensätze an denen es keine Zugriffe gab aufzufüllen könnte man eine "Datumstabelle" verwenden.
DatumWocheMonatWochentag
01.01.2013113
02.01.2013114
............
Diese Datumstabelle wird per Software gefüllt und kann dann mit der Tabelle webstats verjoint (LEFT oder RIGHT OUTER JOIN) werden.
So kannst du nicht nur Tages- sondern auch Wochen- und Monatsstatistiken erstellen.
Mit dem Wochentag kannst du z.B. die Zugriffe eines ganzen Jahres verwenden und dann zu ermitteln wie sich das über die Wochentage Montag bis Sonntag darstellt.
fork me on Github
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: SQL Query zum Ermitteln von Besucherstatistiken über mehrere Zeiträume

  Alt 25. Sep 2013, 21:44
---gelöscht--- sx2008 hatte genau das gleiche geschrieben. Ich brauch ne Brille.

Geändert von Furtbichler (25. Sep 2013 um 21:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: SQL Query zum Ermitteln von Besucherstatistiken über mehrere Zeiträume

  Alt 26. Sep 2013, 12:05
Ahh so eine JOIN Lösung sollte genau das sein, was ich brauche. Allerdings verstehe ich noch nicht so ganz, wie ich das umsetzen soll. Es würde ja nicht reichen diese "Datumstabelle" einmalig anzulegen, sondern man müsste sie ja z.b. jedes Jahr erweitern. Gibt es da eine geschickte Möglichkeit, die ich grade übersehe? Ich möchte ja auch nicht vor jedem INSERT erstmal mit einem SELECT prüfen, ob die Datumstabelle aktuell ist, um sie ggfls. erst zu erweitern.

Und noch eine kurze Frage:
Ist mein Ansatz von der Performance her überhaupt tragbar für große Websites? Es werden durch die Seitenaufrufe ja doch eine riesige Menge an Daten generiert.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: SQL Query zum Ermitteln von Besucherstatistiken über mehrere Zeiträume

  Alt 26. Sep 2013, 12:13
Ahh so eine JOIN Lösung sollte genau das sein, was ich brauche. Allerdings verstehe ich noch nicht so ganz, wie ich das umsetzen soll. Es würde ja nicht reichen diese "Datumstabelle" einmalig anzulegen, sondern man müsste sie ja z.b. jedes Jahr erweitern.
Nö, einmal für 100 Jahre. Es gibt diverse Generatoren im Netz, die dir für jeden Tag noch diverse weitere Informationen liefern.

Wenn du natürlich (was sinnvoll wäre) die arbeitsfreien Tage (Betriebsfest, -Versammlung etc.) eintragen willst, dann lieferst Du noch einen Editor dazu. Die Feiertage (je Bundesland) gibts im Netz (und eine Delphi-Komponente gibts auch)

Ich z.B. finde folgende Infos sehr spannend: Der wievielte Tag im Monat/Jahr, Der wievielte Arbeitstag im Monat/Jahr usw. Damit kannst Du wunderbare Statistiken erstellen (Summe bis zu diesem Tag / der wievielte AT). Zuhause habe ich noch ein olles Projekt in Delphi, das so eine Dimensionstabelle erstellt. Kann ich ja hier mal reinstellen.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: SQL Query zum Ermitteln von Besucherstatistiken über mehrere Zeiträume

  Alt 26. Sep 2013, 12:33
Ahh so eine JOIN Lösung sollte genau das sein, was ich brauche. Allerdings verstehe ich noch nicht so ganz, wie ich das umsetzen soll. Es würde ja nicht reichen diese "Datumstabelle" einmalig anzulegen, sondern man müsste sie ja z.b. jedes Jahr erweitern.
Nö, einmal für 100 Jahre. Es gibt diverse Generatoren im Netz, die dir für jeden Tag noch diverse weitere Informationen liefern.
Du hast natürlich recht. Ich arbeite nicht allzu oft mit Datenbanken und vergesse daher immer ganz gerne, dass 36500 Datensätze für eine moderne relationale Datenbank kein großes Problem darstellen Zumal die PageViews vermutlich (hoffentlich ) sehr viel schneller wachsen werden.

Da ich für dieses Projekt sowieso PHP verwenden muss, kann ich die Datumstabelle mit den doch sehr mächtigen Time/Date Funktionen vermutlich recht einfach geneieren. Ich versuche mal mein Glück.

Danke euch allen!
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: SQL Query zum Ermitteln von Besucherstatistiken über mehrere Zeiträume

  Alt 26. Sep 2013, 12:44
Da ich für dieses Projekt sowieso PHP verwenden muss, kann ich die Datumstabelle mit den doch sehr mächtigen Time/Date Funktionen vermutlich recht einfach geneieren. Ich versuche mal mein Glück.
Mach's doch gleich richtig: Such mal nach so einem Date Dimension Generator und lass dir ne richtige Dimensionstabelle bauen. Die kannst Du fast immer gebrauchen.

PS: Das wäre dann natürlich ein LEFT JOIN
Code:
Select DateDimension.DateCol,
       myData.myResults

 from DateDimension LEFT JOIN
       myData
where DateDimension.DateCol between <FirstDate> and <LastDate>
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz