我试图展示TOP 5
销售量最高的品牌。我目前只有4个品牌,因此产出表只显示4排品牌及其细节。我希望输出表显示在这种情况下为空的第五行。如何修改我的代码以实现我想要的功能?SQL Server:显示空行选择TOP 5
这是我的SQL语句:
SELECT TOP 5
ROW_NUMBER() OVER (ORDER BY ISNULL(SUM(Product.NoSold), 0) DESC) AS No,
Brand.BrandName,
ISNULL(SUM(Product.NoSold), 0) AS NoSold
FROM
Brand
LEFT OUTER JOIN
Product ON Brand.BrandId = Product.BrandId
GROUP BY
Brand.BrandName
ORDER BY
NoSold desc
'TOP N'无效MySQL中,也不是'OVER()'。你真的使用MS SQL Server吗?如果你尝试在MySQL中这样做,它将是一个语法错误。 –
@MichaelBerkowski感谢您纠正我。是的我使用MS SQL。我改变了这一点。 – ExPlOiD
什么版本的SQL Server?你是什么意思的空行?所有列为空?你为什么需要这个?看起来像是应该在表示层中完成的事情。 –