2012-03-16 3 views
0

나는 많은 필드를 포함하고있는 "R"이라고 불리는 mysql 테이블을 가지고있다. 그러나 나는 "이메일"한 필드에 대해서만 걱정하고있다. 전자 메일에는 중복 된 항목이 포함될 전자 메일 주소가 들어 있습니다. 이제 중복 항목을 확인하고 모든 고유 이메일 주소에 대해 개수가 1 씩 증가해야하며 복제 된 이메일은 계산되지 않아야합니다.레일에서 루비의 중복 데이터를 확인하고 제거하기

어떻게이 로직을 구현합니까?

친절히 도와주세요. 나는 레일 세계에서 루비에 초보자입니다 !!! 그냥 my_table 테이블에 고유 이메일 주소의 수를 계산하려고, 당신은 (을 MyTable 이름을 지정해야합니다) 그것을위한 액티브 모델을 설정 한 가정하는 경우

+0

이 사용자와 관련된 테이블인가요? 또는 실제 사용자. 표? 대답은 다릅니다. – TomDunning

+0

두 개의 필드가있는 또 다른 테이블 인 전자 메일은 사용자의 전자 메일 ID로 구성됩니다. 그게 전부 야. –

답변

2

, 시도 :

MyTable.count(:email_address, :distinct => true) 

그 다음과 같은 기본 SQL을 실행합니다.

SELECT COUNT(DISTINCT `my_table`.`email_address`) FROM `my_table` 

두 경우 모두 숫자를 반환합니다.

관련 문제