0
クエリを書き直す手助けが必要です。私は現在、4つのフィールドは、profileID最高の20からの合計スコアであること「ladderscore」で私には、profileIDの明確なリストを示して「はしご」ビューを作成しようとしている複数の条件に基づくMySQL SUM()
+-----------+------------+----------+-----------------+
| profileid | scoretotal | matchwon | datematchplayed |
+-----------+------------+----------+-----------------+
イムを持つ単一のテーブル「リーダーボード」を持っています過去21日間で一致します。
私は以下の文章で正しい出力を得ていますが、これを書き直す方法はありますか?
DROP TABLE IF EXISTS templeaderboard;
CREATE TABLE templeaderboard (INDEX(id), INDEX(profileid)) AS
(SELECT * FROM realleaderboard WHERE datematchplayed > unix_timestamp() - 1814400) ;
SELECT a.profileid, SUM(IF(a.matchwon = 1, a.scoretotal * 1.5, a.scoretotal)) AS ladderscore
FROM templeaderboard AS a
WHERE (SELECT COUNT(*) FROM templeaderboard AS b
WHERE b.profileid = a.profileid AND b.scoretotal >= a.scoretotal) <= 20
GROUP BY a.profileid
ORDER BY ladderscore DESC;
ビューを作成しようとしていますか? – ARr0w