での試合の唯一の最近の数から、選手の合計スコアを取得する -match_infoという名前の私のMySQLのテーブルは、おおよそ次のようになりますMySQLの
match_no | player_id | score
1 | 1 | 50
1 | 2 | 12
2 | 1 | 10
2 | 2 | 14
3 | 1 | 11
3 | 2 | 30
実際のテーブルにはこれよりも多くのデータが含まれています。とにかく例のために、これは今のところテーブルだと言いましょう。私が望むのは、選択した数の最近の試合で各プレイヤーの合計得点を見つけることです。たとえば、今は2つの最近のマッチだけを数える必要があるとします。したがって、一致するだけではありません。 3と2を数え、出力は -
player_id | score
2 | 44
1 | 21
どのようにすればいいですか?私は 'LIMIT & IN/ALL/ANY/SOMEサブクエリ' MariaDBのこのバージョンはまだサポートされていないwas-
に遭遇しました
SELECT player_id,SUM(score) as total_score
FROM match_info
where match_no IN
(select match_no
from match_info
ORDER BY match_no DESC LIMIT 2)
group by player_id
order by total_score desc;
しかしエラー - は、私は次のことを試してみました
"IN"サブクエリの内部では使用できません。どのような代替方法を使用できますか?
ありがとうございました。それは魅力のように機能します:D ...私はMAXと比較演算子を使用して以前に解決策を考え出しましたが、あなたのソリューションははるかに優れているようです。 – Tasfia