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()、結果を使用しようとすると、結果が1つになりました! 間違った場所でコードを使用していますか? 私はどこにでも配置しようとしましたが、何もうまくいきませんでした!

テーブル内の複数のフィールドから重複を削除したいので、MYSQL クエリで Group by を使用できません。グループ化すると、選択したフィールドの重複のみが削除されます。MYSQL を使用する他のソリューションがある場合は、ここに含めてください。

4

2 に答える 2

3

SORT_REGULAR第二引数に指定します。

それ以外の場合は、それらを文字列として比較します。任意の配列はリテラル string"Array"に変換されます。これはもちろん、それらがすべて「等しい」ことを意味します。

于 2012-12-25T03:28:06.283 に答える
1

試すことができる 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 に答える