我在 postmeta
表中有 meta_key
作为 first_group_class
,它的值已序列化,我无法使用 WP_Query
。因为我想知道 postmeta
表中所有元值中重复的特殊字符串(例如:'#23#')的数量。
注意:考虑到我们甚至可以在一个元值中包含该特殊字符串中的多个。
我已经使用了以下内容,但不能算作:
事实上我想计算该字符串在数据库中出现的次数。
<?php
$mysql_query = "
SELECT *
FROM {$wpdb->prefix}postmeta
WHERE meta_key = 'first_group_class'
AND meta_value LIKE '#23#'
";
$countstar = $wpdb->get_results( $mysql_query );
echo 'count: ' . count( $countstar ) . '<br>';
我该如何解决这个问题?
最佳答案
我无法通过 SELECT 查询找到解决方案,但我用另一种方式解决了它:
$post_ids = get_posts( array('fields' => 'ids', 'post_type' => 'class') );
foreach($post_ids as $post_id) {
$postmeta = serialize(get_post_meta( $post_id, $key = 'first_group_class', true ));
$count= substr_count($postmeta ,"#23#");
$sum+= $count;
}
echo '<br>count= '.$sum.'<br>';
关于mysql - WP 中的 SELECT 查询问题 - 计算字符串在数据库中出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53804389/