求一个MS-SQL 分组统计SQL查询

2019-05-28 13:27发布

问题:

Table

fieldA

aaaa-cc-a
bvdsv-bv-s
vdsavd-cc-a
csaccc-cc-c-c
fsafe-ff-s
csacsa-cc-a
gafff-bv-s

ff-s cc-c-c cc-a bv-s cc-a 这些是未知的,唯一特点就是第一个"-"后面的值。

需要得到的数据就是分组统计-后面数据有多少

最后统计得到的数据
cc-a 2
bv-s 2
cc-a 1
cc-c-c 1
ff-s 1

回答1:

https://www.cnblogs.com/lottu/p/4013751.html
可以参考一下这个帖子,应该可以解决你的问题



回答2:

如果可以的话,可以将fieldA拆分成2个字段:前缀、后缀



回答3:

group by right(col,charindex('-',col),len(col)-charindex('-',col))
大概意思,可能边界上有差别,你需要调试一下。



回答4:

哈哈,小兄弟结贴好快,我刚写好demo准备发你的。思路和你写的函数一样,不过没有写那么复杂,写的简洁版,如图: