程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了获取 RowCount 作为 SQL 中的新列大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决获取 RowCount 作为 SQL 中的新列?

开发过程中遇到获取 RowCount 作为 SQL 中的新列的问题如何解决?下面主要结合日常开发的经验,给出你关于获取 RowCount 作为 SQL 中的新列的解决方法建议,希望对你解决获取 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 

得到了这样的结果。

获取 RowCount 作为 SQL 中的新列

但我希望结果像

 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,请注明来意。