これが当面のタスクです。「reports」という名前の db テーブルがあり、このテーブルの列の 1 つは「submitted_by」です。この列には、レポートを送信した人のユーザー名が含まれています。
次に、投稿したレポートの数で並べ替えられたユーザー名のリストを表示する必要があります。したがって、次のようなものが出てくるはずです。
ユーザー | レポート
マーク | 25
ジョン | ジョン | 18
メアリー | 7
等
これを行うために、この PHP/MySQL コードを作成しました。これは非常に簡単ですが、これらを 1 つのクエリにマージできるかどうか疑問に思っていました。また、それによって効率が大幅に向上しますか?
$users=array();
$result=mysql_query("select id,submitted_by from reports group by submitted_by");
while($row=mysql_fetch_array($result)){
$result1=mysql_query("select id,submitted_by from reports where submitted_by='$row[submitted_by]' ");
$users[$row[submitted_by]]=mysql_num_rows($result1);
}
arsort($users);
そして、から各要素をエコーするだけ$users
です。