为 select 的额外列计算行数的查询

Query that counts rows for a extra column for a select

我想制作一个 viww,它可以从角色库存中找到数量最多的前 5 个物品,还有一个列,显示有多少其他人也拥有该物品。

这是我目前得到的结果

CREATE VIEW vwTop5
 AS
SELECT TOP 5 INVENTORY.itemID, INVENTORY.charID,quantity,COUNT(SELECT * 
FROM INVENTORY)
FROM INVENTORY
WHERE INVENTORY.charID = 3

我知道上面的问题是错误的,但是你们能告诉我如何解决它吗? :)

你很接近:

CREATE VIEW vwTop5
 AS
SELECT TOP 5 INVENTORY.itemID, INVENTORY.charID,quantity,
       (SELECT COUNT(*) FROM INVENTORY) as cnt
FROM INVENTORY
WHERE INVENTORY.charID = 

如@FelixPamittan 所说,您需要添加一个 ORDER BY 子句来指定您想要的 TOP 5 条记录。