2010-06-29 76 views
2

我有一個包含各種數據位的文本列的表。羣的數量

例如

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

trhat在一開始有第一季度的文本位投票數據塊,並有我感興趣的位。

我如何編寫一個查詢,得到數只有投票數據,所以例如從表格數據上面它將返回

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

我希望這是有道理的!

回答

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 

更改LIKEREGEXP如果你想更多的控制(但觀看指標,LIKE%最後可以使用索引,REGEXP不)。

+0

感謝你的這正是我所需要的。我如何進一步細化這個不包含文字評論是「Q2 2 blah lblah」? – Dave 2010-06-29 11:35:56

+0

好吧,如果您確定格式爲'Q1 3',則可以使用REGEXP,如我所說。 '/ Q [0-9] [0-9] + /'應該可以工作。 – Konerak 2010-06-29 12:20:51

+0

這聽起來很有趣,但我從未使用過REGEXP。這怎麼符合sql命令? fomat將始終是Q ## ##,其中哈希可以是單數或雙數數字。 – Dave 2010-06-29 12:53:33