首页 > 数据库 > MySQL > 正文

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

2024-07-24 12:36:40
字体:
来源:转载
供稿:网友

最近要处理几个表的数据统计与错误数据的更新处理,一新来的伙伴写了几条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. ) //开源代码Vevb.com 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表