-2

我正在尝试确定 mysql 数据库的行之间的多个字段之间是否存在任何差异。

例如,如果名称字段在一行中不同,则回显结果。

最好的方法是什么?

编辑:

例如

Name          AGE
john smith    68
john smith    68
John M Smith  68

我想要一个检测第三行中姓名的脚本与其他脚本不同,但能够对姓名和年龄字段执行此操作

4

2 回答 2

0

你首先要思考:与什么不同?您始终必须定义列应具有的值。如果您想要所有年龄为 68 岁且不是“john smith”的行,您的语句将如下所示:

SELECT * FROM table WHERE name <> "john smith" AND age <> 68;

这将返回与定义值不同的所有行。

一个非常基本的 PHP 代码示例如下:

$mysqli = new mysqli('hostname', 'username', 'password', 'database');

$query = 'SELECT * FROM table WHERE name <> "john smith" AND age <> 68';

if($result = $mysqli->query($query)){
    while($row = $result->fetch_assoc()){
        // do something with the results using $row['name'] and $row['age']
    }
}
于 2012-07-16T10:21:47.643 回答
0

因此,您想对可以在名称中测量某种偏差但年龄必须相等的数据集进行分组?

所以,如果我理解正确的话:“年龄”不是一个可靠的值,因为人们一年会变老一次,而且年龄已经过时了。使用生日。

“姓名”:同一天可以出生2个人。所以需要更多的数据来比较。如果你只有名字,那么你可以利用“Levenshtein-Distance”。这必须使用存储过程来实现,或者您使用 php 计算...

于 2012-07-16T10:30:45.653 回答