如何按列中的子字符串值进行分组?

时间:2018-02-04 10:56:58

标签: sql sql-server

示例:列名称为ID

每列的文字类似于... user=##### ...(其中...是其他随机文字,而#####是一些5位数字)

我想计算每个#####出现的次数(计数递减)

这似乎不应该这么难,我可能会遗漏一些东西吗?

1 个答案:

答案 0 :(得分:2)

一个可行的选择可能是获取ID列的子字符串,该字符串长度为五个字符,并且在user=出现后开始:

SELECT
    SUBSTRING(ID, CHARINDEX('user=', ID) + 5, 5),
    COUNT(*) AS cnt
FROM yourTable
GROUP BY
    SUBSTRING(ID, CHARINDEX('user=', ID) + 5, 5);