我正在寻找一些教程,向我展示如何使用 AJAX 制作好的表格。例如,我有获取用户的表和获取用户记录的表。用户表UserID | Name=======|===========000001 | Kristian000002 | David000003 | Tomas000004 | Philip000005 | John运行表UserID | RouteName | RunTime============================000001 | Route#001 | 45000001 | Route#002 | 30000001 | Route#003 | 20000002 | Route#001 | 10000002 | Route#002 | 5000002 | Route#003 | 25000003 | Route#001 | 25000003 | Route#002 | 50000004 | Route#002 | 100000004 | Route#003 | 200000003 | Route#001 | 300我想创建一个表,您可以在其中查看特定用户 ID 的运行时每个 RouteName 的位置。用户 ID 000001 的最终表RouteName | RunTime | Position==============================Route#001 | 45 | 3/4Route#002 | 30 | 2/4Route#003 | 20 | 1/3要在 PHP 中创建这样的表,需要一个查询来 SELECT 每个用户的每次运行,并且每行 2 个查询来计算位置和路由时间计数。而且我没有几条路线,我有 500 多条路线,如果我在一次运行它需要匹配时间,所以我正在寻找一些使用 AJAX 和行分页的教程或帮助创建它。谢谢。
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
您可以使用窗口函数:
select *
from (
select t.*,
rank() over(partition by routename order by runtime) rn,
count(*) over(partition by routename) cnt
from mytable t
) t
where userid = 1
这将选择给定的表的所有行userid
,以及两个附加列:
rn
是用户在每条路线上的排名;最快的用户获得排名1
,运行时间相同的用户获得相同的排名cnt
是每条路线上出现的用户总数
添加回答
举报
0/150
提交
取消