Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
SQL Abfrage - Häufigkeit ermitteln

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ElBlues



Anmeldungsdatum: 25.03.2008
Beiträge: 127

BeitragVerfasst am: 18. Apr 2008 11:03   Titel: SQL Abfrage - Häufigkeit ermitteln

Hi,

ich benötige mal ein paar Denkanstöße zu einer SQL-Abfrage. Ich habe eine Datenbank, in der kommen bestimmte Zahlenwerte mitunter mehrfach vor. Die Zahlenwerte selber sind nicht vorherzusagen und aus einem so großen Wertebereich, dass man nicht alle möglichen Werte durchprobieren muss.

Von den mehrfach vorkommenden Werten will ich jetzt wissen, welche 10 Werte am häufigsten vorkommen und wie häufig das jeweils der Fall ist.

Hat jemand einen Tipp wie sowas zu realisieren ist?
_________________
http://www.kaufkauf.net - nie wieder Einkäufe vergessen!
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 18. Apr 2008 12:27   Titel:

Ausschließlich mit SQL geht das nicht.

Also erst per SQL sortieren, dann die Ausgabe in "uniq -c" reinstopfen, dann das Ergebnis mit "sort" sortieren.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

ElBlues



Anmeldungsdatum: 25.03.2008
Beiträge: 127

BeitragVerfasst am: 18. Apr 2008 12:53   Titel:

Hm, sowas wollte ich eigentlich vermeiden, da die Menge an Daten nicht eben klein ist. Und jedes mal einen kompletten Abzug der Tabelle zu ziehen (auch wenn es nur eine Spalte ist), ist leider doch etwas rechenintensiv...
_________________
http://www.kaufkauf.net - nie wieder Einkäufe vergessen!
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

feldsee



Anmeldungsdatum: 12.02.2001
Beiträge: 100
Wohnort: Mainz

BeitragVerfasst am: 28. Apr 2008 9:44   Titel:

Code:
SELECT Count(Dingsda.derBetreffendeZahlenwert) AS Anzahl, Dingsda.derBetreffendeZahlenwert FROM Dingsda
GROUP BY Dingsda.derBetreffendeZahlenwert
ORDER BY Count(Dingsda.derBetreffendeZahlenwert) DESCENDING


Wenn Dein SQL-Server jetzt noch ein
Code:
SELECT TOP 10
unterstützt, wird es perfekt ...
_________________
Du hast keine Chance, aber nutze sie!
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 28. Apr 2008 11:58   Titel:

Stimmt, man kann ja mit GROUP BY die Tabelle selektiv kippen. Danke Feldsee, wieder was gelernt.

SELECT TOP 10 kann man übrigens mit der "LIMIT"-Direktive erreichen.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy