- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева

Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пока что есть у меня поиск:
SELECT title, count( * )
FROM jos_content
GROUP BY title
HAVING count( * ) >1
А как теперь удалить? :)
Вариант 1. Очевидный. Не сработает, если нет подходящего целочисленного уникального "id"
DELETE j1 FROM jos_content j1 LEFT JOIN jos_content j2 ON j1.title=j2.title AND j1.id > j2.id
Вариант 2. Не очевидный. Не проверял, но должно сработать :)
ALTER IGNORE TABLE jos_content ADD UNIQUE INDEX (title)
ALTER TABLE jos_content DROP INDEX (title)
Очистил всю таблицу :) Не подходит
2й вариант с ошибкой. Я не очень в этом разбираюсь
Rchernovol добавил 08.08.2010 в 15:10
Хэлп, коллеги
Rchernovol, http://www.lukianov.ru/content/sql-udalieniie-dubliei-v-tablitsakh-mysql.html
Phessiv, спасибо, так уже пробовал.
затронуты все строки, результат нулевой ((
Rchernovol, попробуйте dbForge Studio for MySQL
Phessiv, спасибо, так уже пробовал.
затронуты все строки, результат нулевой ((
Значит у Вас там не совсем дубли. Т.е. только в некоторых полях все значения одинаковые, а в некоторых разные.
Я бы в таком случае сделал так...
1) создал бы такую же таблицу..
2) сделал бы то поле, где не должно был дублей уникальным
или проще в пхпмуадмине, если несколько таких полей - то на все сразу вешать уник.
3)
Всё, в таблице `t2` только уникальные значения по тем полям, которые мы указали в п.2.
Дальше со второй таблицы снимаем тот UNIQUE индекс, удаляем первую, и переименовываем `t2` в `t1`.
А вариант написать мини скриптик рассматривался?
CREATE TABLE `table2` AS SELECT DISTINCT * FROM `table1` приведет к тому, что у вас слетят все индексы, поэтому я делал выбоку и удалял ненужное средствами PHP.
Спасибо, по рецепту zweroboy1 вопрос решен.
Очистил всю таблицу :) Не подходит
2й вариант с ошибкой. Я не очень в этом разбираюсь
Shit happens. Что значит давно не практиковался. Две маленьких очепятки, которые испортили всю кашу.
В варианте 1 должно быть
DELETE j1 FROM jos_content j1 INNER JOIN jos_content j2 ON j1.title=j2.title AND j1.id > j2.id
чтобы все сработало
В варианте 2 нужно не забыть имя индекса
ALTER IGNORE TABLE jos_content ADD UNIQUE INDEX any_valid_name (title)
чтобы опять-таки все сработало
еще вопрос:
Есть колонка с датой такого вида - 2008-02-03 01:51:12
В ней много записей, и даты разные, но всё начинается с 2008
Например:
2008-03-13 01:51:12
2008-04-23 07:40:19
2008-05-05 04:22:26
Как обновить ее с 2008 до 2009? Притом, всё, что после года - месяцы, дни, минуты, секунды не должны изменяться. Эти значения должны остаться.
Помогите пожалуйста
Rchernovol добавил 30.08.2010 в 16:43
И еще:
В заголовке встречаются шесть цифр подряд + текст
как убрать эти цифры (они разные), оставив текст?
Например: "122314 Какой прекрасный день" > "Какой прекрасный день"
Но бывает и просто одна-две цифры встречаются. Вот они должны остаться.
Как убрать 6 цифр подряд?
Помогшего отблагодарю финансово.