Multicolumn aggregate in Beam

Hi, I am using beam library in my project and trying to express a query with a several aggregating subqueries: select (select * from t order by ts desc limit 1), (select * from t order by ts asc limit 1), (select count(*) from t) as nnn I figured out how to do multiple columns: userDataTableDigestQ :: UserTable -> SqlSelect Postgres (UserDataTable, UserDataTable) userDataTableDigestQ ut = select ag where al = all_ (userDataTableRef $ usertableName ut) ag = subselect_ $ aggregate_ (BF.bimap group_ group_) ((,) <$> limit_ 1 (orderBy_ (asc_ . userdatatableTs) al) <*> limit_ 1 (orderBy_ (desc_ . userdatatableTs) al)) but mixing group_ and count_ produces a very long type error Is there other sql-backend agnostic Haskell library which could express the query above? -- Best regards, Daniil Iaitskov
participants (1)
-
Daneel Yaitskov