sqlite получить записи с тем же значением столбца - PullRequest
4 голосов
/ 16 марта 2010

У меня есть база данных SQLite, в которой есть люди LastName, FirstName, Department, и мне нужно сделать запрос, который показывает мне людей с одинаковыми именами и фамилиями. Я нашел следующее утверждение, которое якобы выполняет то, что я хочу, для одного поля, однако, мне кажется, что оно не работает для меня, когда я пытаюсь использовать его для извлечения всех записей только с тем же именем. Как я могу это сделать?

Select myField From myTable Group by myField Where count(myField)>1 

Ответы [ 2 ]

9 голосов
/ 16 марта 2010

попробовать:

Select 
    firstname,LastName,Count(*)
    From myTable 
    Group by firstname,LastName 
    HAVING Count(*)>1

GROUP BY объединяет строки, в которых именованные значения совпадают.
HAVING удаляет группы, которые не соответствуют условию.

В приведенном выше запросе будут перечислены имена и фамилии, а также количество дубликатов для всех имен / фамилий, которые на самом деле имеют дубликаты.

2 голосов
/ 16 марта 2010

Во-первых, вам нужно использовать HAVING, а не WHERE, чтобы квалифицировать результат GROUPed BY:

 SELECT myField FROM myTable GROUP BY myField HAVING COUNT(myField) > 1 

Во-вторых, вы можете расширить это на несколько столбцов, например:

 SELECT MyCol1, MyCol2 FROM MyTable 
 GROUP BY MyCol1, MyCol2
 HAVING COUNT(*) > 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...