bottom.sql 551 B

123456789101112131415161718192021222324
  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. );
  13. $f = AGGREGATION_FACTORY("bottom", 3);
  14. select Yql::Aggregate($t, AsTuple(), AsTuple(AsTuple(AsAtom("res"),
  15. $f(ListItemType(TypeOf($t)), ($z)->{ return $z.a }))));
  16. use plato;
  17. insert into @a select * from as_table($t);
  18. commit;
  19. select AGGREGATE_BY(a, $f) from @a;
  20. select AGGREGATE_BY(distinct a, $f) from @a;