我有一张表,其中包含多个项目,这些项目的ID稍有不同,我想将它们归为一个通用ID。我的桌子看起来像这样:
ID | Total
alex_dog 1
ben_dog 2
charlie_dog 3
alex_cat 4
ben_cat 5
charlie_cat 6
我希望能够将它们分组为一个表,如下所示:
ID | total
dog 6
cat 15
如果我在没问题的ID之前留下_。是否可以进行groupby查询,在其中可以对'_%ID%'进行分组?
答案 0 :(得分:4)
这可以通过一些字符串操作来完成,以使_
之后的所有内容以及分组依据相同的值
SELECT SUBSTRING(ID,CHARINDEX('_',ID)+1,LEN(ID)), SUM(Total) as Total
FROM Data
GROUP BY SUBSTRING(ID,CHARINDEX('_',ID)+1,LEN(ID))