各位大神,我遇到一個問題,我現在有這么一個表
USER_ID TIME IN_ID OUT_ID
--------------------------------------------------------------------------------
00001 2017/1/1 8:00 01 05
00001 2017/1/1 20:00 05 01
00025 2017/1/1 14:00 07 91
00006 2017/1/1 9:00 02 45
..............
.............
----------------------------------------------------------------------------------------
USER_ID代表用戶編號,TIME代表乘車時間,IN_ID代表入站的站臺編碼,OUT_ID代表出站的站臺編碼.一共有93個站點,有93個編碼。
回路:一個乘客一天內由A站進,B站出,再從B站進,A站出。A-B-A就形成一個回路。只要有一個乘客是這個行程,回路就產生。比如第1條和第二條資料。就形成一個01--05---01的回路
現在我需要查詢出一個表,統計一周資料從2017/1/1----2017/1/7
第一列是時間,比如2017/1/1
第二列是今日所有回路的種類數目。比如A-B-A和B-A-B是兩種回路。
第三列是今日所有回路的總數,就是今日乘客出行軌跡為回路的人次。
如果不能一次查詢出來,可以弄成兩個表再合并。
謝謝各位大神
uj5u.com熱心網友回復:
這種復雜的查詢只靠sql沒這么容易搞出來的就算寫出來可能也很難記憶,很難理解,很難改錯
應該考慮寫個存盤程序什么的
或者用外部高級語言來處理,比如用python寫個腳本什么的
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
1、判斷回路,我第一時間想到用lag2、合并回輪資料
3、分組統計
沒時間,等晚上寫寫看
uj5u.com熱心網友回復:
可以用分析函式統計,或者笨點的方法就是查2次表,1次是A進站和B出站,1次是B進站A出站,然后結果合并轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/93581.html
標籤:基礎和管理
下一篇:關于按月取周問題
