@@ -151,6 +151,10 @@ public JSONObject setUserIdIn(List<Object> list) {
151151 public static final String KEY_GROUP = "@group" ; //分组方式
152152 public static final String KEY_HAVING = "@having" ; //聚合函数条件,一般和@group一起用
153153 public static final String KEY_HAVING_AND = "@having&" ; //聚合函数条件,一般和@group一起用
154+ public static final String KEY_SAMPLE = "@sample" ; //取样方式
155+ public static final String KEY_LATEST = "@latest" ; //最近方式
156+ public static final String KEY_PARTITION = "@partition" ; //分区方式
157+ public static final String KEY_FILL = "@fill" ; //填充方式
154158 public static final String KEY_ORDER = "@order" ; //排序方式
155159 public static final String KEY_KEY = "@key" ; // key 映射,year:left(date,4);name_tag:(name,tag)
156160 public static final String KEY_RAW = "@raw" ; // 自定义原始 SQL 片段
@@ -185,6 +189,10 @@ public JSONObject setUserIdIn(List<Object> list) {
185189 TABLE_KEY_LIST .add (KEY_GROUP );
186190 TABLE_KEY_LIST .add (KEY_HAVING );
187191 TABLE_KEY_LIST .add (KEY_HAVING_AND );
192+ TABLE_KEY_LIST .add (KEY_SAMPLE );
193+ TABLE_KEY_LIST .add (KEY_LATEST );
194+ TABLE_KEY_LIST .add (KEY_PARTITION );
195+ TABLE_KEY_LIST .add (KEY_FILL );
188196 TABLE_KEY_LIST .add (KEY_ORDER );
189197 TABLE_KEY_LIST .add (KEY_KEY );
190198 TABLE_KEY_LIST .add (KEY_RAW );
@@ -410,6 +418,66 @@ public JSONObject setHaving(String keys, boolean isAnd) {
410418 return puts (isAnd ? KEY_HAVING_AND : KEY_HAVING , keys );
411419 }
412420
421+ /**set keys for sample by
422+ * @param keys key0, key1, key2 ...
423+ * @return {@link #setSample(String)}
424+ */
425+ public JSONObject setSample (String ... keys ) {
426+ return setSample (StringUtil .getString (keys , true ));
427+ }
428+ /**set keys for sample by
429+ * @param keys "key0,key1,key2..."
430+ * @return
431+ */
432+ public JSONObject setSample (String keys ) {
433+ return puts (KEY_SAMPLE , keys );
434+ }
435+
436+ /**set keys for latest on
437+ * @param keys key0, key1, key2 ...
438+ * @return {@link #setLatest(String)}
439+ */
440+ public JSONObject setLatest (String ... keys ) {
441+ return setLatest (StringUtil .getString (keys , true ));
442+ }
443+ /**set keys for latest on
444+ * @param keys "key0,key1,key2..."
445+ * @return
446+ */
447+ public JSONObject setLatest (String keys ) {
448+ return puts (KEY_LATEST , keys );
449+ }
450+
451+ /**set keys for partition by
452+ * @param keys key0, key1, key2 ...
453+ * @return {@link #setPartition(String)}
454+ */
455+ public JSONObject setPartition (String ... keys ) {
456+ return setPartition (StringUtil .getString (keys , true ));
457+ }
458+ /**set keys for partition by
459+ * @param keys key0, key1, key2 ...
460+ * @return
461+ */
462+ public JSONObject setPartition (String keys ) {
463+ return puts (KEY_PARTITION , keys );
464+ }
465+
466+ /**set keys for fill(key): fill(null), fill(linear), fill(prev)
467+ * @param keys key0, key1, key2 ...
468+ * @return {@link #setFill(String)}
469+ */
470+ public JSONObject setFill (String ... keys ) {
471+ return setFill (StringUtil .getString (keys , true ));
472+ }
473+ /**set keys for fill(key): fill(null), fill(linear), fill(prev)
474+ * @param keys key0, key1, key2 ...
475+ * @return
476+ */
477+ public JSONObject setFill (String keys ) {
478+ return puts (KEY_FILL , keys );
479+ }
480+
413481 /**set keys for order by
414482 * @param keys key0, key1+, key2- ...
415483 * @return {@link #setOrder(String)}
0 commit comments