gpt4 book ai didi

string - SQL逗号分隔的字符串总数

转载 作者:行者123 更新时间:2023-12-04 17:23:45 25 4
gpt4 key购买 nike

架构:

SubscriberId NewsletterIdCsv 
------------ ---------------
1 48,51,94
2 43,22
3 33,11
4 90,61

我需要获取每行 NewsletterIdCsv 的计数,然后将所有行相加以获得所有行的总计数,对于基本行计数,我正在执行以下操作:
SELECT newsletteridcsv, len(newsletteridcsv) - len(replace(newsletteridcsv, ',', '')) +1 IndividualCount
FROM DBTABLE

这给了我结果:
NewsletterIdCsv IndividualCount
------------ ---------------
48,51,94 3
43,22 2
33,11 2
90,61 2

我如何获得总计数(在本例中为 9)?

注意:这个表有 500 万条记录,我不认为使用临时表插入计数然后最后通过临时表行来累积计数是一种优化方式吗?
此外,我完全反对使用游标来解决效率问题!

获得总数的最佳方法是什么?

最佳答案

您可以使用 SUM 将它们加在一起:

SELECT SUM(len(newsletteridcsv) - len(replace(newsletteridcsv, ',', '')) +1) 
AS TotalCount
FROM DBTABLE

由于您只是要求总数,因此您甚至不需要 GROUP BY任何事物。

关于string - SQL逗号分隔的字符串总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14818596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com