ORDER BY - Problem
Qui Gon Whiskey
- datenbank
Seid gegrüßt
Ich ahbe eine Tabelle, in der eingegebene Suchwörter eine Suchroutine mitgeloggt werden.
Wie kann ich jetzt per SQL-Statement die 3 am häufigsten in der Tabelle vorkommenden Wörter ermitteln???
Gibt es vielleicht so etwas wie Order By Amount...oder so...?
Möge der Saft mit Euch Sein
Qui-Gon(e)
Seid gegrüßt
Ich ahbe eine Tabelle, in der eingegebene Suchwörter eine Suchroutine mitgeloggt werden.
Wie kann ich jetzt per SQL-Statement die 3 am häufigsten in der Tabelle vorkommenden Wörter ermitteln???
Gibt es vielleicht so etwas wie Order By Amount...oder so...?
Hallo,
versuch mal was in der Art:
select woerter, count(woerter) from tabelle group by woerter;
Um die 3 am häufigsten vorkommenden Wörter zu bekommen brauchst Du dann noch irgendwas mit select limit 3, aber da bin ich mir net ganz sicher und da is der Befehl auch glaub bei jeder Datenbank anders.
Gruss Kerstin
Seid gegrüßt
Ich ahbe eine Tabelle, in der eingegebene Suchwörter eine Suchroutine mitgeloggt werden.
Wie kann ich jetzt per SQL-Statement die 3 am häufigsten in der Tabelle vorkommenden Wörter ermitteln???
Gibt es vielleicht so etwas wie Order By Amount...oder so...?
Versuche etwas in der Richtung
select suchwort,count(suchwort) from group by suchwort order by suchwort desc limit 3
Funktioniert 1:1 übernommen wahrscheinlich nicht, aber die Richtung sollte stimmen.
Ein anderer Ansatz wäre ein passender Aufbau der Tabelle mit einem Feld suchwort und einem Feld anzahl. Für jede Suche machst Du dann
update tabelle set anzahl=anzahl+1 where suchwort="wort"
Zum Sammeln der häufigsten Drei brauchst Du dann nur nach anzahl zu sortieren. Mit einem dritten Feld, in dem der Zeitpunkt der letzten Änderung notiert wird (Typ timestamp), kannst Du von Zeit zu Zeit selten vorkommende Worte rausschmeißen.
Gruß,
soenk.e
Habt Dank meine treuen Padawan!
Es ist vollbracht und die Suche funktioniert jetzt! Auch die Anregungen, des jungen Jedi Sönke Tesch seien wohl umzusetzen.
Möge der Hasch mit Euch sein.
Qui Gone with the wind