Java 在MySQL查询中,如何查找包含管道分隔符的表列中特定值的出现次数?

Java 在MySQL查询中,如何查找包含管道分隔符的表列中特定值的出现次数?,java,mysql,Java,Mysql,如何在MySQL查询中查找包含管道分隔符的表列中特定值的出现次数? 请参阅以下字符串: 0 | 5573 | 73 | 5573 | 73 我想要上面字符串中73的计数,它应该给出2的答案 ----------------------------- column -- count ------------------------------ 0|5573|73|5573|73 -- 2 请参考下面的mysql查询,根据您的问题,该查询将不会返回特定值的出现次数。 在下面的

如何在MySQL查询中查找包含管道分隔符的表列中特定值的出现次数?

请参阅以下字符串:

0 | 5573 | 73 | 5573 | 73

我想要上面字符串中
73
的计数,它应该给出2的答案

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

请参考下面的mysql查询,根据您的问题,该查询将不会返回特定值的出现次数。

在下面的查询中,test|table是一个包含名为“test|column”的列的表,该列包含诸如'0 | 5573 | 73 | 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

欢迎来到堆栈溢出!请看一看,仔细阅读,特别是可能重复的好东西是,这看起来不像是一个新的投票环,当两个帐户几乎同时创建,从来没有做任何事情在相同的时间和来自同一个地方。很明显,在提出这个问题之前,这个答案并没有得到宣传和安排。