row_number分区结果错误
问题描述:
我正在使用ROW_NUMBER按销售额去排名。查询看起来像下面row_number分区结果错误
SELECT country, SUM(sales) AS sales,
ROW_NUMBER() OVER (PARTITION BY country ORDER BY SUM(sales) DESC) AS 'rank'
FROM table
GROUP BY country
ORDER BY sales DESC
由于某种原因,排名是所有国家之一。
答
如果通过COUNTRY
,在ROW_NUMBER复位划分为1
SELECT country,
SUM(sales) AS sales,
ROW_NUMBER() OVER (ORDER BY SUM(sales) DESC) AS 'rank'
FROM table
GROUP BY country
ORDER BY sales DESC
,因为你是国家分组,也按国家划分,你总是会得到每个国家的1排由1.删除'分区的排名来自'row_number'的国家。 –
'AS'rank''是无效的标准SQL。你正在使用哪个DBMS? –