Количество групп - PullRequest
       26

Количество групп

2 голосов
/ 29 июня 2010

У меня есть таблица с текстовым столбцом, который содержит различные биты данных.

Например,

Hello world  
This is a piece of text  
Q1 3  
New text  
Q2 2  
Q1 2  
Q1 3  
More text

Биты текста, которые имеют Q1 в начале, являются частями данных голосованияи это те биты, которые меня интересуют.

Как мне написать запрос, который получает подсчет только данных голосования, поэтому, например, из приведенных выше табличных данных он вернет

Q1:2 counts 1  
Q1:3 counts 2  
Q2:2 counts 1

Iнадеюсь, что это имеет смысл!

1 Ответ

2 голосов
/ 29 июня 2010

Вы можете просто сделать группу по количеству и использовать ГДЕ, чтобы ограничить количество желаемых случаев:

SELECT table.textcol, COUNT(table.textcol)
FROM table
WHERE table.textcol LIKE "Q%"
GROUP BY table.textcol
ORDER BY table.textcol

Это выдаст

Q1 2 -> 1
Q1 3 -> 2
Q1 1-> 1

Измените LIKE на REGEXP , если вы хотите больше контроля (но посмотрите индексы, LIKE с % в конце может использовать индекс, a REGEXP не ).

...