如何检测对象数组中的重复值

时间:2017-12-11 21:53:40

标签: php wordpress duplicates

我有这段代码:

 $policy_id = $wpdb->get_results($wpdb->prepare("SELECT meta_value FROM wp_frm_item_metas WHERE field_id=%d AND item_id=%s", 203, $row->id));

我怎么检查是否有重复值?

2 个答案:

答案 0 :(得分:0)

不是在检索数据后检查重复项,而是可以要求mysql不再重复:

SELECT DISTINCT meta_value FROM wp_frm_item_metas WHERE field_id=%d AND item_id=%s

答案 1 :(得分:0)

根据您(不太清楚......)的需求,有多种解决方案。

如果您只想知道单个meta_value发生的频率,可以使用GROUP BY meta_value

SELECT
    meta_value, COUNT(meta_value) as count
FROM wp_frm_item_metas 
WHERE field_id=%d AND item_id=%s
GROUP BY meta_value

结果您将获得两列meta_valuecount(包含meta_value的计数出现次数)

如果您只想要多次出现的meta_values,则可以使用HAVING扩展查询

SELECT
    meta_value, COUNT(meta_value) as count
FROM wp_frm_item_metas 
WHERE field_id=%d AND item_id=%s
GROUP BY meta_value
HAVING count(meta_value) > 1

如果您只想要唯一的meta_values,也可以使用DISTINCT,而不是GROUP BY

SELECT
    DISTINCT meta_value
FROM wp_frm_item_metas 
WHERE field_id=%d AND item_id=%s