6.RSQL使用演示

1988 上次更新时间:2021-05-17 21:21:52

Document

先来看一个场景。我们有一个收货表,里面有收取货物的部门以及今天收取的包裹数。数据如图所示。

现在的需求是,我们希望统计截止今天具体某一个部门一共收取了多少货物。表单设计如图所示。
好了,我们现在分析下这个需求,

1.需求分析

首先根据需求,来看下我们需要的数据有哪些?比如我们想查询 截止今天今天(15 号),市场部的所有签收数量。

2.如何查询数据

我们怎么过滤出收货表中,符合条件的数据?1.日期小于今天并且满足部门为市场部门的。

ok,在明确需求以后。我们开始使用我们的公式。首先 RSQL 的公式范式为 RSQL(operation,result_field,query_type,select_field,method,select_value)
**

  • operation 为查询字段的汇总值的汇总方式,支持 SUM AVERAGE MAX MIN LATEST EARLIEST 操作

  • result_field 为目标表查询字段,支持子表字段。

  • query_type 为匹配类型, “OR” 为所有查询条件或的关系, "AND"为所有查询条件为且的关系。

  • select_field,method,select_value 为一组查询条件,用来构造查询条件。

  • select_field 查询的目标表字段。

  • select_value 为当前表的数值。执行时会替换为当前数据实例的值。如果在子表中,则为当前行的数据。

  • select_value的特殊值,为空为固定字符 ‘SRY_EMPTY’

  • method 为查询类型,支持 == != > < in notin 为空

现在一起梳理下每个参数如何设计

  • operation 为计算条件,我们直接选用 SUM (求和)
  • result_field 应该为 收货表中的「数量」字段,根据筛选出来的数据,我们对 「数量」字段进行求和
  • query_type 为 AND,因为我们后面的条件都为且的关系。
  • 然后看查询条件对, select_field,method,select_value   如图所示。


最后我们看下操作演示。

注意

1.查询的表可以为其他表也可以为当前表。
   2.result_field 查询目标字段,必须和我们的select_field 是一样的。