Sql server 如何计算mssql中具有特定数据的行数
我有下表: 项目:Sql server 如何计算mssql中具有特定数据的行数,sql-server,count,Sql Server,Count,我有下表: 项目: ID Type StockExists 01 Cellphone T 02 Cellphone F 03 Apparrel T 我想计算现有库存的项目数,即StockExists='T'的行数。我正在执行查询,如下所示: Select count(StockExists) From [Items] where StockExists='T' 但它总是返回1。正确的方法是什么 编辑: 另外,如何执行另一个这样的计数
ID Type StockExists
01 Cellphone T
02 Cellphone F
03 Apparrel T
我想计算现有库存的项目数,即StockExists='T'
的行数。我正在执行查询,如下所示:
Select count(StockExists)
From [Items] where StockExists='T'
但它总是返回1。正确的方法是什么
编辑:
另外,如何执行另一个这样的计数操作并将它们添加到一行中,例如
Select count(StockExists)
From [Items] where StockExists='T'` and `Select count(Type)
From [Items] where Type='Cellphone'` ?
因此,您的查询应该可以工作
结果:
EXISTCOUNT
2
EXISTCOUNT CELLPHONECOUNT
2 2
更新
如何执行另一个这样的计数操作,并在
例如,一行从[Items]中选择count(StockExists),其中
StockExists='T'并从[Items]中选择计数(类型),其中
键入“手机”
您可以将SUM
与CASE
一起使用:
SELECT
ExistCount = SUM(CASE WHEN StockExists='T' THEN 1 ELSE 0 END) ,
CellphoneCount = SUM(CASE WHEN Type='Cellphone' THEN 1 ELSE 0 END)
FROM
dbo.Items
结果:
EXISTCOUNT
2
EXISTCOUNT CELLPHONECOUNT
2 2
选择总和(字段为'this'时为1,否则为0结束)作为总数
从你的桌子上
当使用CASE时,在下面这样的情况下使用NULL比使用0更好
谢谢,现在可以用了。我该怎么做才能在同一个表上获得与前一个表相同的另一个计数(使用一些不同的条件),并将这两个计数合并到不同列的一行中?您的查询看起来很好