mysql标记表中某一列的重复值的主值和副值
时间: 2023-08-03 14:08:29 浏览: 96
运行副值岗位安全职责.docx
您可以使用以下 SQL 查询来标记表中某一列的重复值的主值和副值:
```
UPDATE your_table t1
INNER JOIN (
SELECT col_name, MIN(id) AS min_id, MAX(id) AS max_id
FROM your_table
GROUP BY col_name
HAVING COUNT(*) > 1
) t2 ON t1.col_name = t2.col_name
SET t1.flag = CASE WHEN t1.id = t2.min_id THEN 'primary' ELSE 'secondary' END;
```
请注意,您需要将 `your_table` 和 `col_name` 替换为您实际使用的表名和列名。此查询将在表中查找具有重复值的列,并将一个标志列设置为“primary”或“secondary”,以表示每个重复值的主值和副值。主值是具有最小 ID 的行,而副值是具有最大 ID 的行。
阅读全文