Sql server 如何使用GROUPBY子句获取图像处理计数?
我有一个表Sql server 如何使用GROUPBY子句获取图像处理计数?,sql-server,Sql Server,我有一个表JobInfo,其中包含JobId、ImageId、StatusId列 要求的结果: 我需要知道有多少图像被处理。对于已处理的图像,StatusId的值为7 下面的查询只显示那些退出了statusId=7的作业ID,但我需要所有作业ID 如果特定jobid的statusid不存在,则与该jobid对应的计数应为0 SQL查询 SELECT jobid,COUNT(imageid) AS 'ProcessedCount' FROM JobInfo WITH ( NOLOCK
JobInfo
,其中包含JobId、ImageId、StatusId列
要求的结果:
我需要知道有多少图像被处理。对于已处理的图像,StatusId
的值为7
下面的查询只显示那些退出了statusId=7
的作业ID,但我需要所有作业ID
如果特定jobid的statusid不存在,则与该jobid对应的计数应为0
SQL查询
SELECT jobid,COUNT(imageid) AS 'ProcessedCount'
FROM JobInfo WITH ( NOLOCK )
WHERE statusid = 7
GROUP BY JobId ORDER BY JobId
如何达到这个效果
谢谢删除where子句。。。只需执行以下操作。。。。使用sum和case语句,您可以得到预期的结果
SELECT jobid,
COUNT(imageid) As TotalCount,
Sum(Case when Statusid=7 then 1 else 0 end) AS 'ProcessedCount'
FROM JobInfo WITH ( NOLOCK )
-- WHERE statusid = 7
GROUP BY JobId ORDER BY JobId
有多个状态ID(5,-5,7,9)。我只需要统计statusId=7您说过“下面的查询只显示statusId=7的作业ID,但我需要所有作业ID”,清楚地选择所有作业ID,而不管它们的状态如何!您现在怎么能说只需要statusId=7的计数?您运行过查询了吗?请保持冷静,朋友,您更新的查询工作正常。谢谢!!:)