Mercurial > urweb
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> |