我正在使用ColdFusion 10.如何隨機化結果集的部分順序?
我有一個查詢,我無法更改。我無法更改SQL。查詢從幾個地方被調用,包括ajax。我只能觸摸結果集輸出的內容。
我需要隨機化當前結果集中新產品的順序。新產品將永遠列在第一位。我將一次輸出最多50個產品。可以有多達50個新產品。所以,結果集永遠不會很大,就像一百萬行。
讓我們只想說,我現在的結果集是這樣的:
ProductID, IsNew
1 T
2 T
3 T
4 F
5 F
6 F
我的目標是隨機的新產品,讓老產品在其現有的順序。所以,我的新的結果集可能是這樣的:
ProductID, IsNew
3 T
1 T
2 T
4 F
5 F
6 F
我的想法是遍歷結果,發現新產品(這將永遠被列在第一位),將它們添加到列表,隨機列表,然後以某種方式操縱結果集以使用隨機列表。有點像這樣:
// create empty list
NewProductsList = "";
// loop through results and add new products to list
NewProductsList = "1,2,3";
// randomize list of new products
NewProductsList = "3,1,2";
我的想法是使用queryAddRow()和querySetCell()函數來改寫結果。有沒有辦法在輸出時使用ColdFusion處理結果集的順序?
您是否試過http://www.cflib.org/index.cfm?event=page.udfbyid&udfid=524?使用currentrow + 1 – Henry