mysql多个重复字段数据删除

  • 如图中表的数据,除去id、account_type字段不同,其余字段均相同


    3791578899859_.pic_hd.jpg

需求:

  • 删除account_type=7的数据

实现

  • 首先挑选出表中所有符合条件的数据
sql1 = 'select cost,media_account_id,dt,COUNT(media_account_id) as id,COUNT(cost) as cost,count(dt) as dt FROM media_account_daily_middle where media_id=201 ' \
           'GROUP BY media_account_id,media_account_id,dt HAVING id>1 and cost>1 and dt>1'
result = mysql_mgr.select(sql1)
print(result)
  • 对每条符合条件对数据进行删除操作
    for item in result:
        media_account_id = item.get('media_account_id')
        dt = item.get('dt')
        print(media_account_id)
        del_sql = "delete from media_account_daily_middle where media_id=201 and account_type=7" \
                  " and media_account_id='%s' and dt = '%s' " % (media_account_id, dt)
        api_db_cursor.execute(del_sql)
        api_db_conn.commit()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容