Seite 1 von 1

SQL-Ergebnis speziell filtern

Verfasst: 12.11.2004 22:59
von Gumfuzi
Hallo!

ev. kann mir hierbei jemand einen Hinweis geben, ich stehe da noch etwas am Schlauch:

Ich habe eine Tabelle, wo ich 3 Spalten auslese. In einer der Spalten steht der Username. Ich muss nun eine Liste haben, die pro Username die anzahl der Einträge des Users anzeigt.

mit "COUNT(username)" kann man ja die Anzahl bestimmen, doch wenn ich pro User eine SQL-Abfrage mache, dann lahmt das doch, oder?

Vor allem müste ich doch zuerst eine Liste aller User haben, die in der Tabelle vorkommen, d.h. jeder User darf nur einmal in der Liste vorkommen - mom stehen in der Tabelle aber die User zum teil mehrmals drin...

zB.:
Name, Punkte, Monat
User1, 45, 10
User2, 34, 8
User1, 57, 9
User3, 55, 11
User2, 23, 9
etc.

Als Ergebnis soll dann ein Array belegt werden, wo dann drin steht:
Name, so_oft_in_der_Liste
User1, 2
User2, 2
User3, 1
etc.

(es gibt aber keine fixer Useranzahl (der verschiedenen User)

Wie löse ich das möglichst ressourcenschonend?

Danke schon mal im Voraus für eure Hilfe!

Verfasst: 12.11.2004 23:36
von PhilippK
Versuch mal

Code: Alles auswählen

SELECT Name, Count(*) AS so_oft_in_der_Liste
FROM Tabelle
GROUP BY Name
Gruß, Philipp

Verfasst: 13.11.2004 23:15
von Gumfuzi
Danke!!!