1

評価されたアイテムを含むデータベースがあります。特定のカテゴリのすべてのアイテムを表示し、いいねの数ではなく割合で結果を並べ替えたい場合は、簡単で機能しています。

$query =  "SELECT * FROM infos WHERE category = '".$categories."'";
$query .= "ORDER BY `rate` DESC, `like` DESC";

問題は、結果が同じ値を持つ場合に、アルファベット順に表示されることです。そのため、レートなどでソートする前に、データベースをランダム化したいと思います。すべてのアイテムと同じ値を持つアイテムに同じチャンスを与えたいだけで、アルファベット順に有利にならないようにしたいだけです。

私はこれを試しましたが、うまくいきませんでした:

$query =  "SELECT * FROM infos WHERE category = '".$categories."'";
$query .= "ORDER BY RAND(), ORDER BY `rate` DESC, `like` DESC";

誰か助けてくれませんか?私は立ち往生しています。

4

1 に答える 1