1

MySql 表如下所示:

    id    |        values   
  --------------------------------
    41    |    154, 256, 526, 50
    86    |    542, 586, 785, 41

我想将此数据库中的值与另一个 MySql 查询的结果中的值进行比较。从另一个查询中,我得到特定用户和值的结果,例如:

user id: 41
values: 154,526,50

如何比较这两个数据库“值”列并获得不同值的总数和不同的值?

在本例中,该 PHP 函数的结果将是:

total number of different values: 1
different value: 256
4

3 回答 3

3

通过规范化您的数据库。将这些值保存在不同的表中并创建一个新的耦合表,将这些值连接到用户。这将大大简化您的开发。

编辑:查询将如下所示:

SELECT
    value
FROM
    couplings_table
WHERE
    user_id = X
AND
    value NOT IN (SELECT
                    value
                  FROM
                    couplings_table
                  WHERE
                    user_id = Y)
于 2012-07-09T12:59:24.070 回答
2

您可以使用 array_diff:

http://php.net/manual/en/function.array-diff.php

于 2012-07-09T13:01:41.733 回答
1

用“,”爆炸并使用数组差异或搜索每个项目 in_array 并使用结果。我认为 array_diff 就是为了这个。

于 2012-07-09T13:09:38.607 回答