私はブラウザマフィアゲームを作って、それがすべての家族/ギャングをリストするページをコーディングしています。
各家族には、すべてのメンバーの現金、弾丸、経験値などの合計で構成されるポイント評価があります。
これは、家族のリストを表示するためにループする私のコードです。
SELECT
(SELECT COUNT(*) FROM players WHERE status='alive' AND family=f.id) as member_count,
(SELECT SUM(bullets) FROM players WHERE status='alive' AND family=f.id) as sum_bullets,
(SELECT SUM(cash) FROM players WHERE status='alive' AND family=f.id) as sum_cash,
(SELECT SUM(exp) FROM players WHERE status='alive' AND family=f.id) as sum_exp,
(SELECT SUM(killscore) FROM players WHERE status='alive' AND family=f.id) as sum_ks,
name, id FROM familys f
次に、PHPを使用したループ中に、合計ポイントを計算します。
$points = $rs[sum_bullets]/500;
$points = $points + $rs[sum_cash]/10000;
$points = $points + $rs[sum_exp]/1000;
$points = $points + $rs[sum_ks];
さて、質問に移りましょう。を使用して結果を注文したいORDER BY points DESC
。これを行うためにクエリを調整するにはどうすればよいですか?