重构 如何从数据库中取重复记录

lionzixuanyuan · September 03, 2013 · Last by lhy20062008 replied at March 26, 2014 · 4000 hits

在数据库中有一张表,其中有个 order_number 字段 现在有这么一个需求:查询出 order_numbe r 重复的所有记录

我的想法如下: 将所有记录的 order_number 取出组成 数组 A 然后将 数组 A 去重,得到 数组 B 接着用 数组 A - 数组 B 得到 数组 C 数组 C 即为 order_number 重复的项目 最有根据 数组 C 即可查询出所有 order_number 重复的记录

但是,我的服务挂了,目测是因为数据量过大的缘故,请问大家有没有更好的想法,大家讨论下

少年,应该是 SQL 语句来干这事

Model.select("id, count(id) as quantity").group(:order_number).having("quantity > 1")

Model.group(:order_number).having("count(*) > 1")

Model.group(:order_number).having("count(id) > 1") 这样更有效率

You need to Sign in before reply, if you don't have an account, please Sign up first.