Mit deinem UNION selektierst du beides Male die gleichen Sätze, durch das automatische DISTINCT fallen doppelte weg, so das die Ergebnismenge exakt der ersten Selektion entspricht.
SELECT query, wieviel, gesamt
FROM (
SELECT query, count( query ) AS wieviel, SUM( anzahl ) AS gesamt
FROM `tabelle`
WHERE 1
GROUP BY query
ORDER BY wieviel DESC
LIMIT 0 , 50
) t1
ORDER BY gesamt DESC
Wählt dir erst die 50 meistgefragtesten Querys aus und sortiert dir diese nach Anzahl der Treffer.
Warum deine Alphasortierung nicht funktioniert kann ich jetzt aus dem Stehgreif nicht sagen.
Gruß