| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
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 ...
![]() |
| | #1 (permalink) |
| 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-- Code: SELECT autor FROM posts WHERE MAX(COUNT(autor)); #1111 - Invalid use of group function Jemand ne Idee wie man das lösen könnte bzw. was ich falsch mache? | |
| | |
| | #2 (permalink) |
| Registriert seit: 15.09.06 ![]() Likes: 0 | 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 |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | 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; 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. |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | 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. |
| | |
| | #5 (permalink) |
| Themenstarter | @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. |
| | |
| | #6 (permalink) |
| Senior Member | 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 |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ä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 |