结合记录计数

时间:2013-08-27 22:46:13

标签: sql sql-server-2008

我有一张表,我需要按照以下字段分组计数:

SELECT COUNT(*), fld1
FROM tbl1
GROUP BY fld1

这很简单,但fld1可能包含“Exp Brain Res”,“Exp.Brain Res。”,“Exp.Brain Res。”,“Exp.Brain Res。”等值。我需要结合所有将这些可能的值合并为一个计数并显示其中一个名称。因此,而不是在结果集

Exp Brain Res   - 5
Exp. Brain Res. - 3
Exp. Brain Res. - 2
Exp.Brain Res.  - 4

我需要

Exp Brain Res (or any of the above names) - 14.

在SQL 2008中执行此操作的好方法是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

如果空格和句点是您要忽略的唯一标点符号,则可以使用:

SELECT MAX(fld1), -- select one of the group's values.
       COUNT(*)
FROM tbl1 
GROUP BY REPLACE(REPLACE(fld1, ' ', '' ), '.', '')