Ich versuche Prozentsatz des Seitentypen zu finden, Bewertung mit weniger als 20Wie Prozent einer Spalte in Top 20 SQL erhalten?
Meine Tabelle wie folgt aussieht:
requestId rank pageType
MMCVS 0 HOME
MMCVS 1 MOBILE
MMCVS 2 HOME
BBVSS 0 HOME
BBVSS 11 MOBILE
BBVSS 12 HOME
bisher habe ich versucht:
select pageType, Top20, Top20/count(DISTINCT requestId) as Percentage
from (
SELECT
pageType, requestId,
SUM(CASE WHEN rank <= 20 THEN 1 ELSE 0 END) as Top20
FROM
tempTable
group by pageType, requestId) tempTable group by pageType
Aber Fehler bekommen:
expression 'Top20' is neither present in the group by, nor is it an aggregate function.