计算表中没有的记录数

时间:2014-10-24 10:43:18

标签: php sql

我试图弄清楚如何创建SQL查询到sql,这将会做下一步: 计算我的PHP数组中存在但在DB表中不存在的域数。 表结构是:

id|domain

我有一个包含域数的数组

$domains = ("domain1", "domain2"....);

请帮我解决这个问题!

谢谢!

6 个答案:

答案 0 :(得分:1)

问题出在哪里?

在伪代码中:

=> foreach entry in phpArray 
=> select entry from db 
=> if(result == false) counter++

它的一般编码。我相信你可以这样做。

答案 1 :(得分:1)

$query = "SELECT COUNT(*) FROM DOMAINS WHERE DOMAINS.DOMAIN NOT IN (" . implode(', ', $domains) . ")";

希望它有所帮助:)

答案 2 :(得分:0)

首先用数字计算你的数组:

$counted = count($domains);

然后查询是:

SELECT COUNT(domain) as counted_domains FROM table

然后比较结果,你得到了你的不同:)

这有用吗?

答案 3 :(得分:0)

$query = "SELECT count(*) FROM table WHERE domains NOT IN ('" . join("', '", $domains) . "')";

答案 4 :(得分:0)

使用mysql:

SELECT t1.domain
    FROM yourtable t1
    LEFT JOIN yourtable t2
        ON t1.id = t2.id
    WHERE NOT t2.domain IN ('domain1', 'domain2'...)

答案 5 :(得分:0)

从数据库中选择所有域 将它们存储在数组$dbdomains中 做点什么

foreach($domains as $key->$domain) {
 if in_array($domain, $dbdomains) unset $domains[$key];
}
echo count($domains);