ユーザーが報告した運動距離のログを含むテーブルを使用しています。ログに記録された距離の合計でユーザーをランク付けしたいと考えています。
まず、すべてのユーザー ID を見つけます。
select distinct wordpress_user_id from wp_exercise_log
次に、それをループして、名前と合計 (距離) を取得します。
foreach($users as $user) {
// DISTANCE
$user_distance = floor($wpdb->get_var( "select sum(distance) from wp_exercise_log where wordpress_user_id='$user'"));
// FULL NAME
$user_info = get_userdata($user);
$full_name = $user_info-> user_firstname . ' ' . $user_info-> user_lastname;
}
ここに私の問題があります: それらを多次元配列に追加して PHP でソートしない限り、ユーザーをランク付けする方法がわかりません。
このすべてのデータを選択し、1 つの SQL クエリで並べ替えるより良い方法はありますか?