Tach zusammen,
ich habe hier eine Tabelle in einer mySQl-DB der Version 5.0.32, die bei jeder Suchanfrage einen neuen Datesatz aufnimmt:
id | query | anzahl | timestamp
1 | blabla| 12 | 2007-12-03
wobei 'anzahl' für die Anzahl der Treffer für den Suchbegriff 'query' steht.
Nun möchte ich gerne die 50 häufigsten Suchbegriffe haben und die sortiert nach den meisten Treffern. Das gelingt mit folgendem Statement:
(
SELECT query, count( query ) AS wieviel, anzahl AS sort2
FROM `tabelle`
WHERE 1
GROUP BY query
ORDER BY wieviel DESC
LIMIT 0 , 50
)
UNION (
SELECT query, count( query ) AS wieviel, anzahl AS sort3
FROM tabelle
WHERE 1
GROUP BY query
ORDER BY anzahl
LIMIT 0 , 50
)
ORDER BY sort2 DESC , wieviel DESC
LIMIT 0 , 50
Kann man das noch weiter optimieren oder gar viel einfacher bauen? Außerdem klappt das alphabetische Sortieren nicht, wenn ich den letzten 'Order'-Befehl ergänze:
ORDER BY sort2 DESC , wieviel DESC, query ASC
bleibt das ohne Wirkung. Wer kann helfen?
Danke und
http://www.gruss-aus-essen.de
Maik
--
Maik. W. aus E. sagt Dankeschön ;-)
Maik. W. aus E. sagt Dankeschön ;-)