2012-03-16 88 views
0

我有一个名为“R”的mysql表,它包含很多字段,但我担心它只有一个字段“email”。电子邮件包含电子邮件地址,它将包含重复条目现在我想检查重复的条目,并且每个唯一的电子邮件地址的计数应该增加1,并且不应重复计算复制的电子邮件。在rails上检查和删除重复数据ruby-on-rails

我该如何实现这个逻辑。

请帮助我。 我是一个新手红宝石轨道世界!

+0

这是一个与用户相关的表吗?或者实际的用户。表?答案根据不同而不同。 – TomDunning 2012-03-16 10:01:55

+0

它只是另一个有两个字段的表,Email包含用户的电子邮件ID。而已 – 2012-03-16 10:21:42

回答

2

如果你只是想计数表MY_TABLE唯一的电子邮件地址的数量,并假设你已经为它设置一个ActiveRecord模型(这将是名为MyTable),尝试:

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

那将运行如下所示的底层SQL:

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

这将在两种情况下返回一个数字。