[程式] 一題資料庫程式 很簡單的

看板Statistics作者 (across)時間9年前 (2015/06/19 11:05), 9年前編輯推噓0(0010)
留言10則, 2人參與, 最新討論串1/3 (看更多)
我有兩個table A是 n*6 B是 m*6 那6個 column 分別是 ID v1-v5 要作下列工作 A每次出一row 跟B m個row v1-v5 一一比較 然後要把A比B大的個數算出來 最後找出m次比較最大值 output到 一個新table C 所以 C有 n*2 (id num_大) id1 0 id2 4 這樣 我寫了一個 就是每次 A出第一row 跟B每row比 等於一次create m*7 那麼大的table 然後找出 最大值 接著刪掉 已經比完的id 再回到A出第一行row 這樣循環 跑n=10萬 row m=50萬 row 一小時都還跑不完 感覺應該有更快的寫法 請大家賜教 怎麼構思更快的寫法 我是用SAS(有的話就太完美) 但其他語言也沒關係 主要是想構思 -- 鍵盤小弟........ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 74.135.36.127 ※ 文章網址: https://www.ptt.cc/bbs/Wanted/M.1434683053.A.9F9.html ※ 編輯: cawaiilulu (74.135.36.127), 06/19/2015 11:08:07

06/19 11:13, , 1F
...這樣的描述法真的非常難懂...
06/19 11:13, 1F

06/19 11:14, , 2F
所以是A裡面某行的V1~V5都去比B裡面所有行的V1~V5都大
06/19 11:14, 2F

06/19 11:14, , 3F
的來OUTPUT到C嗎
06/19 11:14, 3F

06/19 11:18, , 4F
if A.v1>B.v1 and A.v2>B.v2 and A.v3>B.v3....etc?
06/19 11:18, 4F
第二行是對的 然後 從比較值中找出最大的row (例如有80row 都是5個皆A比B大) output到C (包含 ID 80) 這樣

06/19 11:31, , 5F
V1~V5都是數字嗎? 每一列的數字都是固定位數?
06/19 11:31, 5F

06/19 11:31, , 6F
EX V1裡面的值 都不會大於99這樣
06/19 11:31, 6F
對 這都沒問題 我已經寫好了 主要是我的寫法跑很慢.... 只要構思一個讓這個作法比較快的寫法 資料值不用擔心 謝謝

06/19 11:32, , 7F
你之前的語法是怎樣寫的 跟我寫的依樣 IF AND AND?
06/19 11:32, 7F
我用ARRY + IF THEN

06/19 11:56, , 8F
如果A=(1,1,1,1,1,1), B=(1,0,0,0,0,0),(2,0,0,0,0,0)
06/19 11:56, 8F

06/19 11:57, , 9F
那output應該是什麼? (1,2)? (1,5)?
06/19 11:57, 9F
output是 A1 1 應該是這樣說 A有n row B有m row 每次A出一行 跟B m個一行一行比過 然後 假設m=4 比的結果是 A1 3 (表示A1 跟B1比 v1-v5 有3個比較大) A1 2 A1 3 A1 1 output 結果 C A1 2 (找到兩個"最大值" (最大值=3))

06/19 12:11, , 10F
那row裡面每個值有範圍嗎,有的話可能要用其他方向做
06/19 12:11, 10F
沒關係 這個都不用管 假設就 都兩位以下數字 我主要是想問怎麼寫比較"快" ※ 編輯: cawaiilulu (74.135.36.127), 06/19/2015 12:13:19
文章代碼(AID): #1LWuS8KX (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1LWuS8KX (Statistics)