日期:2014-05-16  浏览次数:20694 次

mysql 删除问题。 所有分了。。
2个表
tableA
tableb
其中b的id   与   A的id   值相同。


根据   tableA中的   type   分组、统计记录合。找到大于100条记录的type

删除每个大于100条记录的   type     100条以后的所有记录。   同时删除,tableB中相对应的记录

------解决方案--------------------


DELETE bill,payment FROM bill,payment WHERE bill.pay_id = payment.pay_id AND payment.charge=(select charge from (select charge,count(*) c from payment group by charge having c> 2) n)

试试
------解决方案--------------------
这里 A 代表 tableA,B代表tableB。

delete from tableA,tableB where B.id = A.id and A.id in ( select id from A where type in (select type, count(*) as counttype from A where 1 group by tableA.type having counttype > 100) )

以上应该已经实现了。
------解决方案--------------------
哎,MySQL5的新特性不怎么熟了。楼上的两层子查询,以前可不敢想的啊!叹一个……
------解决方案--------------------
顶一个先