我试图在 MYSQL 中做这样的事情,但没有通过 PHP foreach 进行多次查询(在我的情况下为 50 次)。
foreach($this->map_ids as $key => $val) {
$this->db->query("SELECT scores.profile_number, scores.score FROM scores
LEFT JOIN players ON scores.profile_number = players.profile_number
WHERE scores.map_id = {'$val'}
AND scores.profile_number IN (SELECT profile_number FROM players WHERE banned = 0) LIMIT 10");
}
这是我在没有限制的情况下检索所有分数时的大致外观。
profile score map_id
76561198026851335 2478 47455
76561198043770492 2480 47455
... ... ...
76561198043899549 1340 47452
76561198048179892 1345 47452
... ... ...
我只想要每个唯一 map_id 中的 10 个条目(分数)。