假设我有一个Mysql表,其中包含时间戳,id和一些其他参数。如何根据 * 重复的时间戳 * 删除整行?SELECT DISTINCT COL_NAME From tblname,将返回1列,其中过滤了我的时间戳,但我需要从表中删除它们(整行)。谢谢!
SELECT DISTINCT COL_NAME From tblname
siv3szwd1#
根据我的意见,首先找到重复的时间戳数据行。找到重复行后,可以删除其中一个重复行。如果你想删除具有相同时间戳值的每组行的最小id,这是我的建议代码。这是子查询的组合代码。
CREATE TEMPORARY TABLE tmp_table AS ( // create temp table SELECT MIN(id) AS id_to_keep FROM tblname GROUP BY timestamp_col HAVING COUNT(*) > 1 ); DELETE FROM tblname WHERE id NOT IN (SELECT id_to_keep FROM tmp_table);
1条答案
按热度按时间siv3szwd1#
根据我的意见,首先找到重复的时间戳数据行。找到重复行后,可以删除其中一个重复行。如果你想删除具有相同时间戳值的每组行的最小id,这是我的建议代码。这是子查询的组合代码。