1

我在这里有这段代码:

$bestffffs = $db->query("SELECT * FROM chapter WHERE ch_trans = '".$wordss."' ORDER BY ch_trans DESC ");
    while($ftffffs = $db->fetch_array($bestffffs))
    {
        $bestffffrs[] = $ftffffs;

    }
    $result = array_unique($bestffffrs);

MYSQL 查询至少有 45 个结果!但是当我尝试使用array_unique()我的结果时减少到一个!我在错误的地方使用代码吗?我试着把它放在任何地方,但没有任何效果!

我不能在我的 MYSQL 查询中使用 Group by,因为我想从表中的多个字段中删除重复项。Group by 只会删除我选择的字段的重复项。如果有其他使用 MYSQL 的灵魂,请在此处包含它。

4

2 回答 2

3

指定SORT_REGULAR为第二个参数。

否则,它将它们作为字符串进行比较。任何数组都会转换为文字 string "Array",这当然意味着它们都是“相等的”。

于 2012-12-25T03:28:06.283 回答
1

您可以尝试的一件事是 DISTINCT。您可以将 DISTINCT 与多个字段一起使用:

SELECT DISTINCT(one and two and three...and n) FROM `your_table`...

试一试。如果这不起作用,请尝试:

SELECT distinctrow field_one, distinctrow field_two, distinctrow field_three FROM `your_table`;
于 2012-12-25T03:31:18.843 回答