2013-01-19 45 views
1

我有一個表是這樣的:Concatenate所有行/ alt。發現使用正則表達式在所有行

+----+---------------------------------------------------+ 
| id |      value      | 
+----+---------------------------------------------------+ 
| 1 | My favourite website is http://stackoverflow.com/ | 
| 2 | This text doesn't have a link! :(    | 
| 3 | Hi! A link! http://www.google.com/    | 
+----+---------------------------------------------------+ 

不過,當然有許多行。我真正想要的是這些字段中的所有URL的列表。實際上他們是博客帖子,所以有些人會有不止一個鏈接。我只對外部鏈接感興趣(即以(/ http(s)?/)開頭)。

所以,我首先想到的是執行返回類似SQL查詢:

My favourite website is http://stackoverflow.com/,This text doesn't have a link! :(,Hi! A link! http://www.google.com/ 

,所以我可以在PHP中使用正則表達式。

如何編寫該查詢?

或者,直接用SQL查詢URL列表會很好,但我懷疑這可能太困難了,因爲多鏈接的事情。

任何想法?

回答

2

使用GROUP_CONCAT

SELECT GROUP_CONCAT(value ) 
FROM tableName 

其他來源

+0

爲什麼我沒有想到這樣做?我一直使用GROUP_CONCAT!認爲寒冷必須凍結我的大腦!關於我是否也可以在SQL中執行正則表達式的任何想法? –

+1

有[MySQL中的正則表達式]函數(http://dev.mysql.com/doc/refman/5.1/en/regexp.html),但我不認爲它適合在這裏。嘿嘿 –

+1

很酷,這就是我的想法 - 匹配=是的,但是然後返回的比賽似乎是不受歡迎的。謝謝。希望沒有人能處理我發佈這個問題的通知! –

相關問題