distinct
Syntax
distinct(X)
Arguments
X is a vector or array vector.
Details
Return the distinct elements from X. Since version 3.00.4, the order of the returned elements matches the order of their first appearance in the input.
Examples
distinct(4 5 5 2 3)
// output: [4,5,2,3]
a = array(INT[], 0, 10).append!([1 2 3, 4 5, 6 7 8, 9 10])
distinct(a)
// output: [1,2,3,4,5,6,7,8,9,10]
t=table(3 1 2 2 3 as x);
select distinct x from t;
distinct_x |
---|
3 |
1 |
2 |
select sort(distinct(x)) as x from t;
x |
---|
1 |
2 |
3 |
The function distinct
returns a vector, while the function set returns a set.
x=set(4 5 5 2 3)
x
// output: set(3,2,5,4)
x.intersection(set(2 5))
// output: set(2,5)
For in-memory or distributed tables, distinct
can be used with
group by
to return an array vector of unique values for each
group.
dbName = "dfs://testdb"
if(existsDatabase(dbName)){
dropDatabase(dbName)
}
db=database("dfs://testdb", VALUE, 2012.01.11..2012.01.29)
n=100
t=table(take(2012.01.11..2012.01.29, n) as date, symbol(take("A"+string(21..60), n)) as sym, take(100, n) as val)
pt=db.createPartitionedTable(t, `pt, `date).append!(t)
result=select distinct(date) from pt group by sym
select sym, distinct_date from result where sym=`A21
sym | distinct_date |
---|---|
A21 | [2012.01.15,2012.01.13,2012.01.11] |