用于计算select的额外列的行的查询

时间:2016-06-23 07:28:57

标签: sql ssms-2014

我想制作一个viww,从字符库存中找到前5个最高数量的项目,但也有一个列显示其他人也有该项目的数量。

  • CHARACTERS

    • CHARID PK
  • INVENTORY

    • ITEMID
    • CHARID
  • ITEM
    • ITEMID

这是我到目前为止所得到的

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

我知道上面的错误但是你能告诉我该怎么做才能修复它吗? :)

1 个答案:

答案 0 :(得分:1)

你很亲密:

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个记录。