我想運行一個常規的SQL風格左加入KDB +/Q.如何在kdb中執行高效的左連接?
- 我們得到的結果至少一行在離開 表的每一行。
- 如果右表中的一個以上的比賽,我得到一排 每個那些,不只是第一場比賽
測試數據
x:([];a:1 1 2 3; b:3 4 5 6)
y:([]; a:1 2 2 4; c:7 8 9 10)
最好我可以想到的版本是這樣的:
這附加一個左連接,它只提供第一個匹配的內部連接,它提供所有匹配,然後刪除重複項:
distinct ej[`a; x; y] , x lj `a xkey y
誰能爲我提供一個在某些 其他方式更快和/或更好?例如,我真的很想避免使用不同的字體。
哇,謝謝! Connor,我還沒有讀k。 **你能解釋一下你做了什麼嗎?** 再次感謝! – JSLover
這是q實現。 'q)nungroup:{$ [count x:0!x;,/ [翻轉每個x],首先每個,/ [x]; x]}' –
@Connor Gervin:您的解決方案給出錯誤的結果。 'x:([] a:1 1 2 3 4; b:3 4 5 6 100)' –