我有一个人员表,有大量的记录,并希望由重复的人分组, 一个要求人是重复的,如果他们有相同的姓氏,并且名字的第一个字母相等,所以我想按名字分组,并且姓氏的第一个字母,是否有一种方法在sql中分组像这样?我需要在C#中使用它,因此可以完成一些代码处理,但是人数很多,所以应该是快速算法。
答案 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
此查询将为您提供所有(本例中的成员),其中第一个名称相同,并且对于多个成员,姓氏的第一个字母相同。换句话说,就像你定义它一样重复。