50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
1

Удаление строк с одинаковым значением поля

12.12.2013, 13:46. Показов 2042. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть база, в ней, допустим, таблица с 100000 строками. Мне надо удалить все строки с одинаковым значением поля mail кроме последней строки с этим значением. Как это сделать можно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2013, 13:46
Ответы с готовыми решениями:

Вывод записей с одинаковым значением одного поля
Подскажите пожалуйста, что тут нужно изменить? Надо чтоб на странице выдало всех клиентов, у кого в...

Удаление строк с определенным значением поля
Привет всем, можно из базы данных удалить все строки где поле "name" = "igor"

Как вывести поля с одинаковым значением
Суть проблемы такова, есть в БД таблица(см. Миниатюры) как мне сделать, что бы на форме...

Удаление из файла строк с указанным значением
Привет, нужен такой код: если в файле code.txt есть текст "asd" то удаляем эту строку если нет...

4
Модератор
4215 / 3056 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
12.12.2013, 15:03 2
А как определяется последняя строка?
0
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
12.12.2013, 16:33  [ТС] 3
Пока никак, ну или если опустить условие "что бы осталась тольько последняя строка" главное что бы осталась одна строка
0
Автор FAQ
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
13.12.2013, 21:46 4
Можно оно конечно как-то хитро решается на sql, но если говорить о PHP, то я бы выбрал бы все строки, собрал массив где ключём будет ID записи, а значением - собственно значение
Пропускаем массив через array_unique и получаем массив у которого ключами являются ID которые надо сохранить
т.е.
PHP
1
$query = 'delete from table where ID not in ('.array_keys($a).')';
и все дела

А про последнюю строку не совсем понял, одна строка останется в любом случае даже если все 100000 значений будут одинаковыми, т.к. на выходе array_unique будет 1 элемент
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.12.2013, 22:00 5
как-то так, по идее можно
SQL
1
DELETE FROM `table` WHERE `id` <> (SELECT `id` FROM `table` ORDER BY `id` DESC LIMIT 1) AND `id` NOT IN  (SELECT MAX(`id`) FROM `table` GROUP BY `mail`)
1
13.12.2013, 22:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2013, 22:00
Помогаю со студенческими работами здесь

Подсветка строк содержащих одинаковые значения полей или подсветка полей с одинаковым значением в таблице
Подскажите, возможна ли реализация в форме такой функции: При наведении курсора на поле...

Проверка записи с одинаковым значением
Подскажите, как при добавление новой записи, происходила проверка в базе, например по имени, и если...

Удаление определенных строк из Мемо - поля
Помогите чтоб код правильно чистил страницу Вот кое че написал но не совсем правильно...

вывести все записи с одинаковым значением
Добрый вечер. Помогите пожалуйста составить запрос. Имеется таблица с несколькими полями. В одном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru