计算列值中的出现次数

时间:2015-12-22 20:47:53

标签: php sql pdo

我需要计算具有多行的列值中特定字符的出现次数。目前我使用substr_count函数在php中执行此操作。这并不理想,因为ORDER BY中我无法SQL这个值。我目前正在做的一个非常基本的例子。

$sql = SELECT * FROM myTable WHERE ID IN(1,3,7,12,18......)

// loop though results from PDO query above
foreach($results as $key => $val){
    print(substr_count($val['col3'], '|')); // prints number of occurances of |
}

简单地说,有没有办法在一列中返回|的出现次数?

1 个答案:

答案 0 :(得分:2)

使用replace|替换为''。然后取原始列和修改列的长度之差来获得|次出现次数。

select length(colname)-length(replace(colname,'|','')) as no_of_|
from yourtable