AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[MySQL] Syntax Hilfe!

Ein Thema von Jonas · begonnen am 28. Jan 2008 · letzter Beitrag vom 28. Jan 2008
Antwort Antwort
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#1

[MySQL] Syntax Hilfe!

  Alt 28. Jan 2008, 18:36
Hallo. Ich verusche zur Zeit den User zu auszulesen, welcher in den letzten 30 Tagen am meisten posts geschrieben hat.

$result = $db->query_first("SELECT COUNT(*) AS cnt FROM bb".$n."_posts WHERE posttime >= ".($posttime[posttime] - 2592000)." AND posttime <= ".$posttime[posttime]);

Dies ist der Anfang schon dafür um heraus zu finden, wieviele Postings in den letzten 30 Tagen getätigt wurden. Nun würde ich aber gerne noch in dieser Abfrage, herausfinden welche UserID die meisten Postings hat.
Das Problem ist ja auch, dass jeder Post theoretisch von der selben Userid geschrieben worden sein kann. Eine Möglichkeit wäre aufjedenfall das $result in eine neue Tabelle hinzuzufügen und es dann erneut aufzulesen. Ich würde es jedoch gerne ohne Tabelle machen, hat jedeman eine Idee? oô
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: [MySQL] Syntax Hilfe!

  Alt 28. Jan 2008, 18:45
Ungetestet und aus dem Bauch heraus:
SQL-Code:
SELECT user_id, COUNT(user_id) AS Anzahl FROM Tabelle
WHERE posttime BETWEEN Start AND Ende
GROUP BY user_id
ORDER BY COUNT(user_id) DESC
LIMIT 0,1
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#3

Re: [MySQL] Syntax Hilfe!

  Alt 28. Jan 2008, 19:19
Huhu, danke scheint zu funktionieren.

Wollte noch fragen wozu das Group By nochmal ist und ob du weisst ob MySQL für beide Counts die tabelle zweimal durchgeht oder nur einmal?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: [MySQL] Syntax Hilfe!

  Alt 28. Jan 2008, 19:47
Wenn Du Felder und Aggregatfunktionen (Min, Max, Count, Sum, Avg etc.) gleichzeitig abfragst, musst Du dem Server auch sagen, wonach er diese Aggregatfunktionen eigentlich zusammenfassen (= gruppieren) soll. In die Gruppierungsklausel müssen dann alle Nicht-Aggregatfelder aufgenommen werden. Und AFAIK wird die Tabelle nur einmal durchlaufen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
28. Jan 2008, 22:25
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Geht um SQL, also primär mal ein Datenbankthema
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz