データベースからデータを取得するための mysql 構文に頭を悩ませるのは難しいと思います。データには「評価」があり、最高の評価から最低の評価に並べ替える必要があります。
2 つ以上の行の間に一致する評価番号がある場合、これらの行をランダム化できるようにする必要がありますが、リストの全体的な順序で保持する必要があります。
基本的に、「エージェント」のテーブル、郵便番号別の「agent_coverage」のテーブル、数値評価を含む「評価」テーブルがあります。それを疑似コーディングするには、次のことが必要です:-
1.select agent_id, rating from agent, rating, agent_coverage where agent_coverage.postcode = postcode and rating.agent_id = agent_id GROUP BY rating.rating ORDER BY rating.rating DESC
次に、グループに複数の結果があるかどうかを確認する必要があります
グループに複数のグループがある場合は、グループをシャッフルし、データを最高から最低の順に返す必要があります。
したがって、BOB の評価が 100 で、JOE、SYLVIA、FRED、BARBARA の評価がすべて 98 で、RICHARD の評価が 96 の場合、返される結果では常に BOB が 1 位になり、RICHARD は常に結果の最後になりますが、他の位置は毎回ランダム化されます。
それが少し明確になることを願っています。