首頁  >  問答  >  主體

mysql - 用sql或pandas讓一個表格依照另一個表補全資料。

##如圖,圖1是各個地鐵站在各個時刻的進站人數,由於是模擬真實數據,像七里莊在5點沒有人進站,所以就沒有數據記錄,而圖2是完整的時段表,從5點到23點,每15分鐘一段,現在想讓圖1 的每個地鐵站按照圖2的時刻表進行補全,如果這一時刻該地鐵站沒有記錄,就證明沒有人進站,進站人數就預設為0。

如果能用sql最好,用pandas也可以。
但我不知道怎麼做到,向大家求助。

仅有的幸福仅有的幸福2688 天前975

全部回覆(2)我來回復

  • 某草草

    某草草2017-05-27 17:41:17

    依照你現在這樣的表結構的化,圖2主表,左連結圖1表,條件起始時間=起始時間,結束時間=結束時間。查詢列圖2的起止時間,圖1的人數

    假設有個站點表記錄所有站點基本資訊。

    Seletc Site,Start,End,Cnt from
    ( select Site,Start,End,timeKey from SiteTbl,TimeZone) a
    left join (.....) b on a.Site=b.Site a.timeKey = b.timeKey

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-27 17:41:17

    select table2.起始时间, table2.结束时间, ifnull(table1.进站人数, 0) "进站人数"
    from table2
    left join table1 on table1.起始时间=table2.起始时间 and table1.结束时间=table2.结束时间
    

    PS:如果可以請把第二張加一個站名這個欄位.

    回覆
    0
  • 取消回覆