集算器實現優先隨機更新

2021-07-05 10:22:05 字數 708 閱讀 8781

目標:隨機更新表tmp_survey_tran_bz_3_working中符合條件的20條記錄,將quota_include_ind欄位更新為「y」。更新時有優先順序,如果customer_type=』r'的記錄大於20條,則隨機更新這裡的20條記錄。如果customer_type=』r'的記錄小於20條(比如15條),則更新這15條,並從customer_type<>』r'的記錄中隨機更新5條。

部分源資料如下:

集算器寫法:

a1,a2:執行sql,按引數取出符合條件的記錄的主鍵。其中a1是customer_type=』r'的記錄,a2是customer_type<>』r'的記錄。

a3:根據a1中的記錄數量計算出需要更新的記錄主鍵。a1.sort(rand())表示對a1隨機排序,to(20)=[1,2…20],表示取前20條。運算子|可以將兩個集合縱向合併。計算結果如下:

a1,a2,a3的計算結果分別如下:

a4:按照a3更新資料表,@u表示只生成update語句。

簡化SQL計算之實現優先隨機更新

目標 隨機更新表 tmp survey tran bz 3 working 中符合條件的 20條記錄,將 quota include ind 字段更新為 y 更新時有優先順序,如果 customer type r 的記錄大於 20條,則隨機更新這裡的 20條記錄。如果 customer type r...

巧用集算器資料集

看如下圖所示報表 這個報表從樣式來看,可以看作是乙個簡單的網格式報表,統計著各種收支金額,但因為取數複雜,每個格仔的資料都來自乙個複雜的 sql 資料集,並且涉及十幾個,乃至幾十個資料集,藍色 區域裡每個格仔都需要從各自的資料集裡檢索遍歷,查詢與左表頭關聯的記錄。為了方便體會這一點,我們將上圖報表簡...

用集算器編寫算二十四

算24點,是一種常見的智力遊戲。它可以使用抽去大小王的撲克牌來玩,隨便抽出4張牌,要求通過加 減 乘 除等四則運算,並使用所有的這4個數,將結果算為24。在撲克牌中,jqk記為11,12和13。用集算器,可以比較方便地編寫程式,根據隨便給定的4個數,計算出這個遊戲的解答 下面,詳細分析一下這段 計算...