首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减去两列的计数

减去两列的计数
EN

Stack Overflow用户
提问于 2022-08-07 19:32:48
回答 1查看 61关注 0票数 1

我有下表

代码语言:javascript
复制
Table A
UploadDate  Destroy
12/23/2020   1
12/31/2025   0
11/11/2020   1
12/16/2021   1

我大概有1000排像这样。我需要写一个SQL语句,其中计数(UploadDate)- destroy=1的破坏计数所以在上面的情况下,它将是4-3。我希望查询返回1。贝德洛是create语句:

代码语言:javascript
复制
CREATE TABLE [dbo].[Table_A](
    [UploadDate] [datetime] NULL,
    [Destroyed] [bit] NULL
) ON [PRIMARY]
GO

下面是一些示例数据的insert语句:

代码语言:javascript
复制
INSERT INTO [dbo].[Table_A]
           ([UploadDate]
           ,[Destroyed])
     VALUES
           ('12/23/2020'
           ,1)



INSERT INTO [dbo].[Table_A]
           ([UploadDate]
           ,[Destroyed])
     VALUES
           ('12/22/2020'
           ,0)

INSERT INTO [dbo].[Table_A]
           ([UploadDate]
           ,[Destroyed])
     VALUES
           ('12/31/2020'
           ,0)
        

INSERT INTO [dbo].[Table_A]
           ([UploadDate]
           ,[Destroyed])
     VALUES
           ('11/11/2020'
           ,1)


         INSERT INTO [dbo].[Table_A]
           ([UploadDate]
           ,[Destroyed])
     VALUES
           ('12/16/2021'
           ,1)

到目前为止,这就是我所拥有的:

代码语言:javascript
复制
select count(uploadDate) - count(Destroyed)
from document
where destroyed=1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-07 20:43:23

您可以使用COUNT(CASE WHEN destroyed = 1 THEN 1 END)查找destroyed = 1所在的行数。

代码语言:javascript
复制
SELECT COUNT(*) - 
       COUNT(CASE WHEN destroyed = 1 THEN 1 
END) AS RES
FROM Table_A

请参阅来自db<>fiddle的演示。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73270477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档