Select()函数
函数说明:从数据集的当前行集中选取符合条件的记录
语法: datasetName.select(<select_exp>{, desc_exp{, filter_exp{, sort_exp{,rootGroupExp}}}} )
datasetName.select(<select_exp>, , <filter_exp>) //适用于不需排序或数据集中已排好序
参数说明:
select_exp 要选择的字段列名/列号,或表达式。列号用#n表示,例如:#0代表第0列,#1代表第1列,依此类推
desc_exp 指定数据排序的顺序,true表示降序排列,false表示升序排列
filter_exp 数据过滤表达式,如果全部选出,则此参数省略,仅用“,”占位
sort_exp 数据排序表达式,当此项为空时先检查desc_exp是否为空,如果为空,则不排序,否则使用select_exp排序。
rootGroupExp 是否root数据集表达式,为true,从数据集里取数,为false,则从本单元格主格的结果集里取数
返回值:一组数据的集合,数据类型由select_exp的运算结果决定
示例:
例1:ds1.select(name) 从数据集ds1中,选取name字段列的所有值,不排序。
例2:ds1.select(#2, true) 从数据集ds1中,选取第二个字段列的所有值,降序排列。
例3:ds1.select(name,false,sex=='1') 从数据集ds1中,选取sex=='1'的name字段列的值,升序排列。
例4:ds1.select(name,true,sex=='1',id) 从数据集ds1中,选取sex=='1'的name字段列的值,按id字段降序排列。
Select1()函数函数说明:从数据集中,按顺序检索到符合过滤条件的第一条记录,返回选择的字段值
语法: datasetName.select1(selectExp{,filterExp{,rootGroupExp}})
参数说明:
selectExp 要选择的字段列名/列号,或表达式
列号用#n表示,例如:#0代表第0列,#1代表第1列,依此类推
filterExp 过滤条件
rootGroupExp 是否root数据集表达式,为true,从数据集里取数,为false, 则从本单元格主格的结果集里取数
返回值:数据类型由selectExp的运算结果决定
特别说明:当对数据集运用过滤条件后,确定只剩一条记录时,虽然同select()的运算结果一样,但是select1()运算效率高,因为它只要找到符合条件的记录,就不继续检索了,而select()要检索完所有的记录才返回。
示例:
例1:ds1.select1(name) 返回数据集ds1中第一条记录的name字段值。
例2:ds1.select1(name,score>90) 从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值。
dselect()函数
函数说明:从数据集的当前行集中,选取符合条件的记录,选出字段相同的行将会只保留第一行。
语法: datasetName.dselect( <select_exp>{, filter_exp{,rootGroupExp}} )
参数说明:
select_exp 要选择的字段列名/列号,或表达式,列号用#n表示,例如:#0代表第0列,#1代表第1列,依此类推
filter_exp 数据过滤表达式,如果全部选出,则此参数省略,仅用“,”占位
rootGroupExp 是否root数据集表达式,为true,从数据集里取数,为false, 则从本单元格主格的结果集里取数
返回值:一组数据的集合,数据类型由select_exp的运算结果决定
示例:
例:ds1.dselect(name) 表示,从数据集ds1中,选取name字段列的所有值,name相同的记录只会保留第一个。