最近要处理几个表的数据统计与错误数据的更新处理,一新来的伙伴写了几条sql更新处理语句,对于小量数据处理没问题,但是如果几万数据处理是非常的慢,只拿来了看看.
联合查询回复数,代码如下:
- SELECTask.id,count(answer.father_id),ask.answer_num
- FROM`表名_ask`ASask
- LEFTJOIN`表名_answer`ASanswerONask.id=answer.father_id
- GROUPBYanswer.father_id
- ORDERBYask.idASC
修改城市ID,代码如下:
- UPDATE表名_askSETcityid=
- (
- SELECTcityid
- FROM表名
- WHERE表名_ask.borough_id=表名.id
- ORDERBYidASCLIMIT0,1
- )
修改回复数,代码如下:
- UPDATE表名_askSETanswer_num=
- (
- SELECTcount(表名_answer.father_id)
- FROM`表名_answer`
- where表名_ask.id=表名_answer.father_id
- GROUPBY表名_answer.father_id
- ORDERBY表名_ask.idASC
- LIMIT0,1
- )//开源代码phpfensi.com
最后:建议一下如果有可能我们还是把sql分开来处理这样会更好一些,本站原创文章转截必须注明来源http://www.phpfensi.com.