亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

每行包含查詢的表

每行包含查詢的表

侃侃無極 2023-10-14 16:51:04
我正在尋找一些教程,向我展示如何使用 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是每條路線上出現的用戶總數



查看完整回答
反對 回復 2023-10-14
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號