table empsalary : { Depname : string, Empno : int, Salary : int } fun main () : transaction page = x <- queryX (SELECT empsalary.Depname, empsalary.Empno, empsalary.Salary, RANK() OVER (PARTITION BY empsalary.Depname ORDER BY empsalary.Salary DESC) AS R, AVG(empsalary.Salary) OVER (PARTITION BY empsalary.Depname) AS A FROM empsalary) (fn r => {[r.Empsalary.Depname]}, {[r.Empsalary.Empno]}, {[r.Empsalary.Salary]}, {[r.R]}, {[r.A]}
); return {x}