需要mysql更新选择查询才能进行优化

时间:2013-08-28 06:19:52

标签: mysql sql

我有表subcategorylisting_categorylistin_category表包含不同的记录,其中包括subcategorycategory。我想要的是在我的subcategory表中查找特定category所述类别= 3的所有listing_Category的计数,并在subcategory表中更新它。 我想做什么

UPDATE `subcategories` SET total_count = ( SELECT count( * )
FROM `listings_category`
WHERE category =3 and subcategory IN (subcategories.id)
WHERE category_id =3 and id=subcategories.id

我在制作数组subcategories.id时遇到问题。任何帮助将不胜感激。如果任何人建议更优化的查询将是伟大的。提前致谢

1 个答案:

答案 0 :(得分:1)

我自己解决了:)我想知道为什么人们对有意义的问题投反对票。 这是解决方案。

update subcategories, 
       (
         SELECT subcategory,count(subcategory) as count 
           FROM `listings_category` 
          group by subcategory
       ) sb  
  SET subcategories.total_count = sb.count 
where subcategories.id = sb.subcategory