Google bigquery bigquery中的Rank()
Google bigquery bigquery中的Rank(),google-bigquery,Google Bigquery,我试图根据产品的数量分配等级值(例如,产品1的数量为100,最大值应为等级1,产品2的第二高数量为80,应为等级2,依此类推),但当我执行下面的查询时,我得到一个错误,说明-在表中未找到字段“rank\u”。请告诉我哪里出了问题 SELECT ProdName, NoofProds, rank_ FROM ( SELECT ProdName, COUNT(ProdName) AS NoofProds, RANK() OVER (PARTITION BY P
我试图根据产品的数量分配等级值(例如,产品1的数量为100,最大值应为等级1,产品2的第二高数量为80,应为等级2,依此类推),但当我执行下面的查询时,我得到一个错误,说明-在表中未找到字段“rank\u”。请告诉我哪里出了问题
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
试试下面
SELECT
ProdName,
NoofProds,
RANK() OVER(ORDER BY NoofProds DESC) AS rank_
FROM
(
SELECT
ProdName,
COUNT(ProdName) AS NoofProds
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
)
ORDER BY rank_ DESC