大佬教程收集整理的这篇文章主要介绍了获取 RowCount 作为 SQL 中的新列,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要每个 SpecificationID 的 ComponentSubTypes 计数。目前,我正在计算总数。如何为每个 SpecificationID 分隔计数。有人可以帮忙吗?这可以在 SSIS 脚本组件中处理吗?
我试过了。
SELEct P.SpecificationID,CT.ComponentType,cst.ComponentSubType from [LScdaTA].[Product] P
join LScdaTA.Component C on P.SpecificationID = C.ProductSpecificationID
join LSCMASTER.ComponentType CT on C.ComponentTypEID = CT.ComponentTypEID
join LSCMASTER.ComponentSubType cst on c.ComponentSubTypEID = cst.ComponentSubTypEID
where cst.ComponentSubType = 'Tab' and p.SpecificationID in
(242996,20281,80530,52357,726480,2441)
order by p.SpecificationID
SELEct @@ROWCOUNT as Num
得到了这样的结果。
但我希望结果像
SpecificationID numberOfTabs
20281 2
52357 1
80530 1
242996 1
尝试使用分组依据:
SELEct P.SpecificationID,count(CT.ComponentTypE) from [LSCDATA].[Product] P
join LSCDATA.Component C on P.SpecificationID = C.ProductSpecificationID
join LSCMASTER.ComponentType CT on C.ComponentTypEID = CT.ComponentTypEID
join LSCMASTER.ComponentSubType cst on c.ComponentSubTypEID = cst.ComponentSubTypEID
where cst.ComponentSubType = 'Tab' and p.SpecificationID in
(242996,20281,80530,52357,726480,2441)
group by p.SpecificationID
order by p.SpecificationID
,
将“COUNT(*) OVER (PARTITION BY SpecificationId)”添加到您的项目列表中以获得您所请求的内容
,你已经只过滤了标签,所以你可以使用计数行:
SELECT P.SpecificationID AS SpecificationID,COUNT(*) AS numberOfTabs
FROM [LSCDATA].[Product] AS P
JOIN LSCDATA.Component AS C ON P.SpecificationID = C.ProductSpecificationID
JOIN LSCMASTER.ComponentType AS CT ON C.ComponentTypEID = CT.ComponentTypEID
JOIN LSCMASTER.ComponentSubType AS cst ON c.ComponentSubTypEID = cst.ComponentSubTypEID
WHERE cst.ComponentSubType = 'Tab'
AND p.SpecificationID IN (242996,2441)
GROUP BY p.SpecificationID
ORDER by p.SpecificationID
以上是大佬教程为你收集整理的获取 RowCount 作为 SQL 中的新列全部内容,希望文章能够帮你解决获取 RowCount 作为 SQL 中的新列所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。