Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте. Есть рабочий запрос:
SELECT `title`, count(*) FROM `tbl_post` GROUP BY `title` HAVING count(*)>1;
который выбирает "одинаковые title в таблице tbl_post"
Что нужно в эту строку добавить, чтобы выполнялось условие "на один номер телефона" .
То есть:
"одинаковые title в таблице tbl_post на один phonenum"
Неактивен
Приведите пожалуйста пример данных, и желаемый результат из этого примера.
Текущие Ваш запрос скорее выбирает "те title, которые встречаются больше одного раза".
Неактивен
Текущие Ваш запрос скорее выбирает "те title, которые встречаются больше одного раза".
Ну правильно. Нужно добавить условие в команду, что номер phonenum при этом у них один и тот же.
Приведите пожалуйста пример данных, и желаемый результат из этого примера.
титл пример: "1-к квартира, ул. пупкина". Встречается допустим 5 раз. Но при этом только у 2 записей из 5 телефоны одинаковые. Или вообще у всех разные.
Рабочая команда показывает сколько раз будет встречаться данный титл
Желаемый результат: показывает сколько раз встречается данный титл, при условии, что phonenum в записях одинаковый.
Отредактированно Vbifyz (29.04.2019 13:13:56)
Неактивен
Неактивен
Да. Нужно это. Только ошибка выдается:
Ошибка
SQL запрос: Документация
SELECT `title`, `phonenum`, count(*) FROM `tbl_post` GROUP BY `title`,`phonenum` HAVIN count(*)>1 LIMIT 0, 25
Ответ MySQL: Документация
#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'HAVIN count(*)>1 LIMIT 0, 25' на строке 1
Неактивен
HAVING, у Вас HAVIN
И, честно говоря, LIMIT 0 меня откровенно смущает .
Неактивен
Получилось! Огромное спасибо!!!!
Неактивен
Экспериментальным путем усложнил команду, чтобы учитывалось условие статус=1:
SELECT `title`, `phonenum`, count(*) FROM `tbl_post` WHERE `status` = 1 GROUP BY `title`,`phonenum` HAVING count(*)>1;
Отредактированно Vbifyz (29.04.2019 14:50:35)
Неактивен
Скажите, а как задать команду, чтобы вот из этой выборки:
SELECT `title`, `phonenum`, count(*) FROM `tbl_post` WHERE `status` = 1 GROUP BY `title`,`phonenum` HAVING count(*)>1;
удалить наиболее старые записи.
Например при данном селекте получили результат:
Квартира, 70 лет Победы, 2 (титл) 915659хххх (номер) 2 (количество записей)
Квартира, Академика Жук, 12/1, подъезд 927159хххх 3
Квартира, Алфёрова, 5Б 9887850хххх 4
Надо чтобы при удалении наиболее старых записей остались только по 1 самой последней записи на каждую строку:
Квартира, 70 лет Победы, 2 (титл) 915659хххх (номер) 1 (количество записей)
Квартира, Академика Жук, 12/1, подъезд 927159хххх 1
Квартира, Алфёрова, 5Б 9887850хххх 1
Время записи задается параметром create_time
Неактивен