2017-09-01 49 views
-6

如何查找包含MySQL查詢中的管道分隔符的表列中特定值的出現次數?如何查找包含MySQL查詢中的管道分隔符的表列中特定值的出現次數?

請參考下面的字符串:

0|5573|73|5573|73

我想要的73在上面的字符串計數它應該給的答案爲2

----------------------------- 
column   -- count 
------------------------------ 
0|5573|73|5573|73 -- 2 
+1

歡迎堆棧溢出!請[參觀],環顧四周,並仔細閱讀[幫助],特別是[*我如何提出一個好問題?*](/ help /如何問) –

+0

[Count VARCHAR字段中字符串的出現次數?](https://stackoverflow.com/questions/12344795/count-the-number-of-occurrences-of-a-string-in-a-varchar-field) – juzraai

+0

好事是,當兩個賬戶幾乎同時創建時,這看起來不像是一個新的投票環,從未做過相同時間的任何事情,而是來自同一個地方。而且這個答案顯然不是在OP之前提出這個問題,並且與OP一起安排的。 – Tom

回答

2

請參考下MySQL查詢其將根據您的問題返回沒有具體價值的發生。

在下面的查詢TEST_TABLE是包含一個名爲「test_colum」包含了像「0 | 5573 | 73 | 5573 | 73」值的列的表,你想找到任何有價值的出現'73'在裏面。

SELECT 
    test_colum, 
(IF((POSITION('73|' IN test_colum))=1,1,0)) 
+ 
    (ROUND ( 
     (
      (LENGTH(test_colum) 
      - LENGTH(REPLACE (test_colum, "|73|", "")) 
      ) 
     )/LENGTH("|73|")   
    ) 
+ 
IF((substring_index(test_colum,'|',-1) = '73'),1,0)) AS value_cnt 
FROM test_table; 

它會產生結果如下:

test_colum   value_cnt 
0|5573|73|5573|73 2 
相關問題