按字符串的第一个字母分组

时间:2011-02-10 05:18:40

标签: c# sql group-by

我有一个人员表,有大量的记录,并希望由重复的人分组, 一个要求人是重复的,如果他们有相同的姓氏,并且名字的第一个字母相等,所以我想按名字分组,并且姓氏的第一个字母,是否有一种方法在sql中分组像这样?我需要在C#中使用它,因此可以完成一些代码处理,但是人数很多,所以应该是快速算法。

2 个答案:

答案 0 :(得分:2)

如果我理解正确,从SqlServer可以执行类似

的操作
SELECT  DISTINCT
        Surname,
        LEFT(FirstName,1) FirstNameLetter
FROM    Persons

除此之外,我们还需要更多细节。表模式,预期结果集等......

答案 1 :(得分:1)

SELECT MEMBER.MEMBER_FIRSTNAME, COUNT(MEMBER.MEMBER_LASTNAME)
FROM dbo.MEMBER
GROUP BY MEMBER.MEMBER_FIRSTNAME, SUBSTRING(MEMBER.MEMBER_LASTNAME, 1,1)
HAVING COUNT(MEMBER.MEMBER_LASTNAME) > 1

此查询将为您提供所有(本例中的成员),其中第一个名称相同,并且对于多个成员,姓氏的第一个字母相同。换句话说,就像你定义它一样重复。