Как сделать такой запрос Mysql

Запрос выводит отдельной колонкой число повторов "contacts" в таблице.
SELECT`s1`.`title`,`s1`.`description`,`s1`.`contacts`
FROM `spec` AS `s1`
LEFT JOIN (
SELECT `contacts`, COUNT(`contacts`) AS `count`
FROM `spec`
GROUP BY `contacts`) AS `s2` USING (`contacts`)
WHERE STATUS='' ORDER BY id DESC;

как сделать, чтобы еще одной (или несколько) колонкой выводил строку типа CONCAT("title") из найденных повторов "contacts"
  • Вопрос задан
  • 2401 просмотр
Пригласить эксперта
Ответы на вопрос 2
svd71
@svd71
так не поможет?
SELECT`s1`.`title`,`s1`.`description`,`s1`.`contacts`
FROM `spec` AS `s1`
LEFT JOIN (
SELECT concat(`contacts`,'.', 'title') as contacttitle, COUNT(`contacts`) AS `count`
FROM `spec`
GROUP BY 1) AS `s2` USING (`contacts`)
WHERE STATUS='' ORDER BY id DESC;
Ответ написан
@topmet Автор вопроса
не работает:
Ошибка SQL (1054): Unknown column 'contacts' in 'from clause'

сделал так
SELECT`s1`.`title`,`s1`.`description`,`s1`.`contacts`, `count`, contacttitle
FROM `spec` AS `s1`
LEFT JOIN (
SELECT `contacts`, COUNT(`contacts`) AS `count`, CONCAT(`title`, '--', `description`) AS contacttitle
FROM `spec`
GROUP BY 1) AS `s2` USING (`contacts`)
WHERE `status`='' AND id>19000
ORDER BY id DESC;

не работает, в contacttitle одно значение, а не список значений
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы