想象一下,有包含用戶點擊的點擊表。現在我想選擇每個社交網絡的總點擊次數:SELECT語句中匹配的REGEXP模式
UPD: refererHost列包含任何referer主機,不僅包含社交網絡主機。
SELECT
c.refererHost as referer,
COUNT(c.id) as clicks
FROM clicks c
WHERE c.referrerHost REGEXP 'facebook|google|linkedin'
GROUP BY referer
ORDER BY clicks desc
但問題是,引薦字段將包含域名像www.facebook.com,我需要選擇匹配正則表達式的值(例如「實」)。是否可以用MySQL來做到這一點?
我不認爲這是可能的。根據文檔「如果expr匹配pat返回1,否則返回0」。 https://dev.mysql.com/doc/refman/5.5/en/regexp.html –
你可以使用REGEX_SUBSTR。 SELECT REGEXP_SUBSTR(「http://theDomain/www.facebook.de」,'facebook | google | linkedin');它只返回名字。 –
@BerndBuffen這是一個Oracle SQL函數..我不認爲有一個MySQL的等價物,恐怕 – Arth