comparison tests/window.ur @ 1777:59b07fdae1ff

Partitioning and ordering for window functions
author Adam Chlipala <adam@chlipala.net>
date Sat, 02 Jun 2012 16:47:09 -0400
parents 8f28c3295148
children 818d4097e2ed
comparison
equal deleted inserted replaced
1776:8f28c3295148 1777:59b07fdae1ff
1 table empsalary : { Depname : string, 1 table empsalary : { Depname : string,
2 Empno : int, 2 Empno : int,
3 Salary : int } 3 Salary : int }
4 4
5 fun main () : transaction page = 5 fun main () : transaction page =
6 x <- queryX (SELECT empsalary.Depname, empsalary.Empno, empsalary.Salary, RANK() AS R 6 x <- queryX (SELECT empsalary.Depname, empsalary.Empno, empsalary.Salary,
7 RANK() OVER (PARTITION BY empsalary.Depname ORDER BY empsalary.Salary DESC) AS R,
8 AVG(empsalary.Salary) OVER (PARTITION BY empsalary.Depname) AS A
7 FROM empsalary) 9 FROM empsalary)
8 (fn r => <xml>{[r.Empsalary.Depname]}, {[r.Empsalary.Empno]}, {[r.Empsalary.Salary]}, {[r.R]}<br/></xml>); 10 (fn r => <xml>{[r.Empsalary.Depname]}, {[r.Empsalary.Empno]}, {[r.Empsalary.Salary]}, {[r.R]}, {[r.A]}<br/></xml>);
9 return <xml><body> 11 return <xml><body>
10 {x} 12 {x}
11 </body></xml> 13 </body></xml>