CREATE TABLE IF NOT EXISTS users_groups(
id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT(11) UNSIGNED NOT NULL,
name VARCHAR(250) NOT NULL,
is_deleted BOOLEAN NOT NULL DEFAULT false,
creation_date DATETIME NOT NULL,
last_modification_date DATETIME NOT NULL,
PRIMARY KEY (id)
);
一個表,我想談談列(USER_ID,名)作爲唯一的,但我的問題是,我該列中已經有重複項。在某些情況下,這些列重複多次。
我想編寫一個查詢來更新重複名稱行中連接某些值的重複行,例如將第一個重複的'**'連接爲第二個重複的連接'*',依此類推。
這是可能寫一個查詢嗎?
我能得到我想要修改的組,但我不知道是否有可能實現什麼,我想與MySQL
select users_groups.id, users_groups.user_id, users_groups.name
from users_groups
inner join (select user_id, name, count(*) from users_groups group by user_id, name having count(*) > 1) as u on u.user_id = users_groups.user_id
where users_groups.name = u.name;
謝謝你的回答。它沒有工作,我不知道爲什麼,但它不能識別select語句中的變量'@ cnt'。 – agusgambina
@agusgambina對不起使用了錯誤的文本,請重試。 – ydoow
謝謝你的工作,我只需要在'set'和'select'之間添加'update'語句並在末尾添加id的'where'子句。 – agusgambina