1
Ich versuche Rankwert basierend auf der Anzahl der Produkte zuweisen (z. B. prod 1 hat Zählung von 100, die max sollte Rang 1 haben, prod 2 die zweithöchste Anzahl von 80 sollte Rang von haben 2 und so weiter) hat aber, wenn ich unten Abfrage ausführen, erhalte ich einen Fehler, der sagt - Feld "rank_" fand nicht in der Tabelle
. Bitte lassen Sie mich wissen, wo ich falsch werde
Rang() in bigquery
SELECT
ProdName,
NoofProds,
rank_
FROM (
SELECT
ProdName,
COUNT(ProdName) AS NoofProds,
RANK() OVER (PARTITION BY ProdName ORDER BY NoofProds DESC) AS rank_
FROM
[prodtable]
WHERE
(STRFTIME_UTC_USEC(Timestamp,"%Y%m%d")) = (STRFTIME_UTC_USEC(DATE_ADD(CURRENT_TIMESTAMP(), -1, "day"), "%Y%m%d"))
GROUP BY
1,
3
ORDER BY
2 DESC)
GROUP BY
1,
2,
3
ORDER BY
rank_ DESC