Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

User mit den meisten Posts auslesen?

Diskussion: User mit den meisten Posts auslesen? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo HaBo, Irgendwie tu ich mich grad mit einem SQL-Statement schwer. Ich würde gern den User mit den meisten ...

Antwort
Alt 12.05.08, 11:50   #1 (permalink)
 
Registriert seit: 17.10.06
:::Lük::: Leistung: Facit NTK
:::Lük::: eine Nachricht über ICQ schicken
Likes: 0
Standard User mit den meisten Posts auslesen?

Anzeige

Hallo HaBo,

Irgendwie tu ich mich grad mit einem SQL-Statement schwer. Ich würde gern den User mit den meisten Einträgen auslesen.
Also ich habe folgende Tabelle posts

Code:
--theme_id---autor---time---post--
Und mein Ansatz war bis jetzt folgender:
Code:
SELECT autor FROM posts WHERE MAX(COUNT(autor));
Fehler hierzu wäre:

#1111 - Invalid use of group function

Jemand ne Idee wie man das lösen könnte bzw. was ich falsch mache?
:::Lük::: ist offline   Mit Zitat antworten
Alt 12.05.08, 12:27   #2 (permalink)
 
Registriert seit: 15.09.06
Banur Leistung: Facit NTK
Likes: 0
Standard

So wie es scheint zählt count() nur die Anzahl der verschiedenen Autoren und nicht wie von dir beabsichtigt die Anzahl der Beiträge pro Autor: Link
Banur ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 12.05.08, 13:28   #3 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Versuche mal die Sachen zu gruppieren und dann zu zählen, denn Aggregatfunktionen (MAX,AVG usw) machen im WHERE Teil erstmal keinen Sinn. Versuche mal mit:
Code:
SELECT autor,count(autor)as 'Anzahl' 
FROM posts
GROUP BY autor 
ORDER BY Anzahl DESC LIMIT 1;
das macht folgendes:
gruppiert die Einträge erstmal nach Autoren - bildet also "untergruppen" mit dem gleichen Autor und zählt die Einträge jeder Untergruppe (also praktisch Postanzahl).
Wenn man nun das Ergebnis sortiert und den ersten Eintrag auswählt, hat man den User mit den meisten Beiträgen.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 12.05.08, 14:07   #4 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
wobei erwähnt werden sollte, dass dieses SQL Statement vermutlich extrem langsam ist und wahrscheinlich MySQL die ganze DB dafür untersuchen muss.

Eine evt. Umstrukturierung der DB würde helfen.
Elderan ist offline   Mit Zitat antworten
Alt 12.05.08, 14:47   #5 (permalink)
Themenstarter
 
Registriert seit: 17.10.06
:::Lük::: Leistung: Facit NTK
:::Lük::: eine Nachricht über ICQ schicken
Likes: 0
Standard

@CDW: Super das funktioniert! Auch danke dass du nochmal erklärt hast was du da gemacht hast

@Elderan: Da ich die DB nur privat nutze ist das nicht dringend notwendig aber es stimmt schon die Anfrage dauert im Schnitt 0.1 Sek.
:::Lük::: ist offline   Mit Zitat antworten
Alt 12.05.08, 16:55   #6 (permalink)
Senior Member
 
Registriert seit: 29.07.05
Heinzelotto Leistung: Facit NTK
Heinzelotto eine Nachricht über ICQ schicken
Likes: 0
Standard

ich würde einfach zum eintrag des users in der DB eine weitere variable dazumachen, die die anzahl der posts enthält. Diesen Wert dann bei jedem neuen Post inkrementieren.
Einmal musst du allerdings die bisherigen Posts mit der oben beschrieben Methode zählen und dann die aktuelle postzahl da reinschreiben, wenn nicht alle jetzt wieder bei 0 anfangen sollen
Heinzelotto ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » User mit den meisten Posts auslesen?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
FTP-User vom Server auslesen Mana Network · LAN, WAN, Firewalls 3 17.06.07 13:50
Hitlist Wer hat die meisten Infizierten Daten auf seinem PC? Vlox Off topic-Zone 14 12.10.06 13:47
[Erledigt] User aus SQL auslesen mit Nick, Email etc. reaLInsanity (Web-) Design und webbasierte Sprachen 7 08.10.06 22:35
Windows 98 ist immer noch das am meisten benutzte OS Tec News & Ankündigungen 0 21.09.02 13:19


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61