从序列中获取distinct值。
语法:
A.id(xi,…;n)
备注:
取前n个xi。。。的distinct值,如果x的distinct值小于n,则返回所有;然后将distinct值生成新的序列,只有一个xi时返回成一个序列。
参数:
xi |
distinct 表达式,可省略,x省略为~。 |
n |
前n个xi…的distinct值,可省略,省略返回所有。 |
选项:
@o |
不排序,仅去掉相邻的重复成员。 |
@u |
结果集不再按x排序;与@o互斥。 |
@h |
用于分段有序的数据,可提高计算效率。 |
@0 |
丢弃x的计算结果为空的成员。 |
@m |
数据量大的复杂运算中,并行计算提升性能,计算次序不确定,与@o互斥。 |
@n |
只有一个xi且是自然数,可用位置判断。 |
@b |
只有一个xi且是自然数,使用字节的位来判断以减少存储占用。 |
返回值:
序列
示例:
|
A |
|
1 |
=demo.query("select * from EMPLOYEE") |
|
2 |
=A1.id(DEPT) |
升序排序。 |
3 |
=A1.id@o(DEPT) |
不排序。 |
4 |
=A1.id([DEPT,GENDER]) |
按DEPT & GENDER组合排序后取唯一值 。 |
5 |
=["a","b","c","a"].id() |
x省略,表示序列成员本身,返回["a","b","c"]。 |
6 |
=A1.id@u([DEPT,GENDER]) |
结果集不按x排序。 |
7 |
=A1.id(DEPT,GENDER) |
N省略时,返回所有。
|
8 |
=A1.id(DEPT,GENDER;4) |
返回前4个,GENDER 的distinct值小于4,返回所有: |
9 |
=file("D:/emp10.txt").import@t() |
数据文件emp10.txt中,每10条数据根据DEPT进行了一次排序: |
10 |
=A9.id@h(DEPT) |
A19是以DEPT分段有序的数据,使用@h选项提高分组效率: |
|
A |
|
1 |
=demo.query("select * from DEPT") |
|
2 |
=A1.id(FATHER) |
返回内容:[null,1,2,11,12]。 |
3 |
=A1.id@0(FATHER) |