Entwickler-Ecke
Datenbanken - SQL, Häufigkeit berechnen
Delete - Mi 30.04.08 16:28
Titel: SQL, Häufigkeit berechnen
Hallo,
ich habe ein Problem mit einem SQL-Befehl, doch zuerst der Hintergrund:
Ich habe 1 Tabelle, in der bestimmte Tätigkeiten stehen (Feld "Aufgabe" (String über ComboBox auswählbar)). Außerdem habe ich noch 2 Datumsfelder "Anfang" und "Ende"
Wie geht der SQL-Befehl dafür, welche Aufgaben am häufigsten stehen und wie lange die Aufgaben gedauert haben (Ende-Anfang)? Die häufigsten Aufgaben sollten ganz oben stehen...
Hoffe, mir kann einer helfen...
Viele Grüße und danke vorab,
rd3
Robert.Wachtel - Mi 30.04.08 18:00
Titel: Re: SQL, Häufigkeit berechnen
Welche Datenbank?
Welches Ergebnis wünschst Du Dir denn bei unterschiedlicher Zeitdauer für ein und dieselbe Aufgabe? Den Durchschnittswert?
Dann würde ich es bei Oracle mit einem Subselect machen.
Vorausgesetzt, Du hast eine Tabelle mit folgenden Spalten:
Quelltext
1: 2: 3: 4:
| ID Number Aufgabe VarChar Von Date Bis Date |
dann zeigt dir folgendes SQL-Statement:
SQL-Anweisung
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| select aufgabe, avg(dauer) as durchschnitt, count(aufgabe) as anzahl from (select aufgabe, bis-von as dauer from test) group by aufgabe order by anzahl desc |
die Aufgaben mit ihrer Durchschnittsdauer absteigend nach ihrer Häufigkeit auf.
Ob die verkürzte Form ohne Subselect funktioniert müsste ich ausprobieren:
SQL-Anweisung
1: 2: 3: 4: 5: 6: 7: 8:
| select aufgabe, avg(bis-von) as durchschnitt, count(aufgabe) as anzahl group by aufgabe order by anzahl desc |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!