У меня есть запрос как таковые (что не совсем работы, как предполагалось)Совокупной SQL группы подсчета на основе группы по
SELECT
(CASE
WHEN str LIKE '%some_string%' THEN 's'
WHEN str LIKE '%some_string2%' THEN 's2'
END) as str,
COUNT(*) as num FROM Table WHERE
str LIKE '%some_string%' or
str LIKE '%some_string2%'
group by str
и таблица содержит такие вещи, как
| str |
|------------------------------- |
| "some_string_a;" |
| "some_string_b; some_else" |
| "some_string_c; some_else" |
| "some_else; some_string2a" |
| "some_string_c; some_string2b" |
Как сделать Я получаю результат следующим образом?
| str | num |
|---------------|--------|
| s | 4 |
| s2 | 2 |
Я в настоящее время я занижение, потому что строки 1,2,3 и 5 посчитаны как «some_string%» (и, следовательно, «S»), когда они на самом деле содержат оба.
Я не думаю, что вы можете сделать это, не получив чрезвычайно * сложного - было бы приемлемым, чтобы значения возвращались в столбцах вместо строк? Это может быть хорошим результатом для требуемого количества усилий, если вы абсолютно не нуждаетесь в этом. – eouw0o83hf
@rio не могли бы вы проверить мой ответ? – Dhaval
Сначала вы должны нормализовать свои данные. –