我想在SQL中複製一個Python函數,但我很難從表和循環/迭代的角度考慮它。Python的itertools.combinations()的SQL版本
import itertools
rangeStart = 1
rangeEnd = 20
rangeStep = 2
outputSize = 3
lst = range(rangeStart, rangeEnd, rangeStep)
list = list(itertools.combinations(lst, outputSize))
print(len(list))
如何可以複製在SQL上述Python代碼的輸出,同時仍然允許用於輸入(以能夠配合到輸入字段中一個用戶接口)?
具體而言,輸出應該是排列,而不是組合。我基本上試圖從GUI中輸入一些輸入,他們在那裏輸入範圍(即0,20),值的類型(偶數,奇數或全部)以及輸出中每個元組的長度。輸出是一個被排序的元組列表,所以(1,2,3)是好的,(2,3,1)或(1,3,2)是不好的。元組的值也從左到右遞增,因此(2,4,6)是好的,但(6,4,2)不是。元組中的值也是唯一的,所以(4,4,6)不好。
如果輸出應該是排列組合,然後你想要的'itertools.permutations',不'itertools.combinations' –