简体   繁体   English

基于列 MySQL 删除重复行

[英]Remove duplicates rows based on a column MySQL

I'm trying to delete all rows having the same column value in MySQL, but taking only the last row.我试图删除 MySQL 中具有相同列值的所有行,但只删除最后一行。 the equivalent in Python would be: Python 中的等效项是:

df = df.drop_duplicates(subset='column_content', keep="last")

any idea?任何的想法?

I've tried:我试过了:

sqlStatement = '''
SELECT t1.*
FROM table1 t1
JOIN table2 t2
WHERE t1.column_content = t2.column_content
  AND t1.timestamp < t2.timestamp
'''
test = pd.read_sql(sql, con=connectionInstance)
DELETE t1.*
FROM source_table t1
JOIN source_table t2
WHERE t1.some_column = t2.some_column
  AND t1.id < t2.id
/* Alternatively AND t1.datetime_field < t2.datetime_field */

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM