小组的数量

时间:2010-06-29 09:28:58

标签: mysql count aggregate-functions

我有一个包含文本列的表,其中包含各种数据位。

例如

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

我希望这是有道理的!

1 个答案:

答案 0 :(得分:2)

您可以按计数执行分组,并使用WHERE限制所需的案例:

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的{​​{1}}可以使用索引, %没有。)