我的表中有以下字段/结构:
(`map`, `authid`, `name`, `time`, `date`, `weapon`)
每当玩家在游戏中完成一张地图时,只要玩家完成的每个地图的信息低于之前存储的任何信息,此信息就会存储在此表的 sqlmap
行time
中time
。这意味着map
对于任何给定的玩家(authid
/ name
),每人只会有一行。
现在,关于我的问题。作为我的 SQL 菜鸟,我希望找出一个要运行的查询,该查询将选择每个地图的最低 15 次(显然,如果每个地图的条目少于 15 个,则所有条目都将被返回)。我知道我可以在 PHP 中创建如下查询:
SELECT * FROM tablename WHERE map='". $map ."' ORDER BY time LIMIT 15;
但是我最终需要一个包含每个唯一值的多维数组(PHP)或对象(JS),map
以便稍后在我的代码中使用(并且它需要按时间排序),即:
{"map1":[
{"authid1":"val",
"name1":"dude1",
"time":"23.46",
"date":"val",
...},
{"authid1":"val",
"name1":"dude2",
"time":"42.33",
"date":"val",
...},
...],
"map2":[
...
...]
}
如果我不能纯粹通过 SQL 查询来做到这一点,那么我怎么能利用 PHP 或 JS 来完成我的目标呢?