当前位置:首页 > Mysql教程 > 列表

mysql中利用联合查询批量处理数据(更新,查询,统计)语句

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-25 14:20:55 浏览: 评论:0 

最近要处理几个表的数据统计与错误数据的更新处理,一新来的伙伴写了几条sql更新处理语句,对于小量数据处理没问题,但是如果几万数据处理是非常的慢,只拿来了看看.

联合查询回复数,代码如下:

  1. SELECT ask.id, count( answer.father_id ) , ask.answer_num 
  2. FROM `表名_ask` AS ask 
  3. LEFT JOIN `表名_answer` AS answer ON ask.id = answer.father_id 
  4. GROUP BY answer.father_id 
  5. ORDER BY ask.id ASC 

修改城市ID,代码如下:

  1. UPDATE 表名_ask SET cityid =  
  2.     SELECT cityid 
  3.     FROM 表名 
  4.     WHERE 表名_ask.borough_id = 表名.id 
  5.     ORDER BY id ASC LIMIT 0, 1 

修改回复数,代码如下:

  1. UPDATE 表名_ask SET answer_num =  
  2.     SELECT count( 表名_answer.father_id ) 
  3.  FROM `表名_answer` 
  4.  where 表名_ask.id = 表名_answer.father_id 
  5.  GROUP BY 表名_answer.father_id 
  6.  ORDER BY 表名_ask.id ASC 
  7.  LIMIT 0 , 1 
  8. ) //开源代码phpfensi.com 

最后:建议一下如果有可能我们还是把sql分开来处理这样会更好一些,本站原创文章转截必须注明来源http://www.phpfensi.com.

Tags: mysql联合查询 mysql批量处理

分享到: