top.sql 547 B

1234567891011121314151617181920212223
  1. /* syntax version 1 */
  2. /* postgres can not */
  3. $t = AsList(
  4. AsStruct(7 as a),
  5. AsStruct(4 as a),
  6. AsStruct(5 as a),
  7. AsStruct(1 as a),
  8. AsStruct(2 as a),
  9. AsStruct(9 as a),
  10. AsStruct(1 as a),
  11. AsStruct(9 as a));
  12. $f = AGGREGATION_FACTORY("top", 3);
  13. select Yql::Aggregate($t, AsTuple(), AsTuple(AsTuple(AsAtom("res"),
  14. $f(ListItemType(TypeOf($t)), ($z)->{ return $z.a }))));
  15. use plato;
  16. insert into @a select * from as_table($t);
  17. commit;
  18. select AGGREGATE_BY(a, $f) from @a;
  19. select AGGREGATE_BY(distinct a, $f) from @a;