0

如何在 rake 任务中运行以下查询?

DELETE FROM crawled_categories WHERE id NOT IN (
   SELECT id FROM (
       SELECT DISTINCT(site_id, parent_category, breadcrumb), max(id) AS id
       FROM crawled_categories 
       WHERE map_id is null
       GROUP BY site_id, parent_category, breadcrumb
   ) AS tmp
) AND map_id IS NULL
4

1 回答 1

0

我尝试了以下代码,它运行良好:

ActiveRecord::Base.connection.execute("DELETE FROM crawled_categories WHERE id NOT IN ( SELECT id FROM ( SELECT DISTINCT(site_id, parent_category, breadcrumb), max(id) AS id FROM crawled_categories WHERE map_id is null GROUP BY site_id, parent_category, breadcrumb ) AS tmp ) AND map_id IS NULL")
于 2012-08-20T13:15:13.367 回答