Задать вопрос
@zxcursed

Как сгруппировать по содержимому запроса?

Есть запрос:
SELECT count(*) AS counts FROM tbl WHERE val LIKE '%111%' OR val LIKE '%222%';
Как сгруппировать результат данного запроса, чтобы на выходе получилось:
query | counts
%111% | 22
%222% | 33
В столбце 'query' запрос из LIKE, а в 'counts' результаты по нему
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
SELECT query, COUNT(*) cont FROM (
  SELECT 
	  CASE 
		  WHEN val LIKE '%111%' THEN '%111%'
		  WHEN val LIKE '%222%' THEN '%222%'
		  ELSE 'other'
	  END query
  FROM tbl 
  WHERE val LIKE '%111%' OR val LIKE '%222%'
) tbl GROUP BY query;


SQL GROUP BY Fiddle

Result:
+=======+======+
| query | cont |
+=======+======+
| %111% | 2    |
+-------+------+
| %222% | 1    |
+-------+------+
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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