2012-07-30 75 views
0

我試圖構造一個複雜的查詢。我有一張桌子,在那張桌子上,我想添加一個人造字段match_count,使用SELECT *,match_count FROM。這不是問題。問題是這樣的:我有幾個正則表達式,我想用找到的每個正則表達式來增加match_count。這些表達式將應用於表中的幾個字段,如param1 REGEXP "reg1"param2 REGEXP "reg2"param1 REGEXP "reg3"。可以重複使用列,因爲可以是表達式,但match_count字段應該對應於匹配的數量。MySQL通過REGEXP匹配計數增加字段

如果可能的話,如果一列與正則表達式匹配幾次,則匹配計數不會增加1,而會增加這些匹配的數量。

回答

2

您能不能總結了REGEXP表達式的結果:

SELECT *, 
    param1 REGEXP "reg1" + 
    param2 REGEXP "reg2" + 
    param1 REGEXP "reg3" AS match_count 
FROM 

如果可能的話,這也將是冷靜,如果,如果列幾次匹配的正則表達式中,匹配數目分別爲不是由一個增加,而是由這些匹配的數量增加。

我不認爲這是可能的在MySQL中。然而,在許多通用語言中是可能的。

+0

謝謝,我不知道一個正匹配等於1. – arik 2012-07-30 11:28:12

+0

雖然我想說明的是,如果不對每個summand和summming表達式使用括​​號,此語法不起作用。 – arik 2012-07-31 07:38:05