Это похоже на этот вопрос , но кажется, что некоторые ответы там не совсем совместимы с MySQL (или я делаю это неправильно), и у меня есть черт времени выяснить изменения, которые мне нужны. Видимо мой SQL более грубый, чем я думал. Я также ищу, чтобы изменить значение столбца, а не удалить, но я думаю, по крайней мере , что часть проста ...
У меня есть таблица как:
rowid SERIAL
fingerprint TEXT
duplicate BOOLEAN
contents TEXT
created_date DATETIME
Я хочу установить duplicate = true для всех, кроме первого (by_date) каждой группы по отпечатку пальца. Легко пометить все строк с дублирующимися отпечатками пальцев как дубликаты. Часть, на которой я застреваю - это первая.
Одно из приложений, которое заполняет таблицу, выполняет массовую загрузку данных, когда несколько работников загружают данные из разных источников, а данные работников не обязательно разбиваются по дате, поэтому пытаться пометить их все как они входят (первый вставленный не обязательно первый по дате). Кроме того, у меня уже есть куча данных, которые мне нужно очистить в любом случае. Поэтому я предпочел бы просто создать относительно эффективный запрос, который можно выполнить после массовой загрузки, чтобы очистить его, чем пытаться встроить его в это приложение.
Спасибо!