comparison tests/group_by.ur @ 259:d1b679dbbc25

Monoize HAVING
author Adam Chlipala <adamc@hcoop.net>
date Sun, 31 Aug 2008 15:36:15 -0400
parents 69d337f186eb
children
comparison
equal deleted inserted replaced
258:40c33706d887 259:d1b679dbbc25
3 3
4 val q1 = (SELECT * FROM t1 GROUP BY t1.B) 4 val q1 = (SELECT * FROM t1 GROUP BY t1.B)
5 val q2 = (SELECT * FROM t1, t2 GROUP BY t1.B, t2.D, t1.A) 5 val q2 = (SELECT * FROM t1, t2 GROUP BY t1.B, t2.D, t1.A)
6 6
7 val q3 = (SELECT * FROM t1 WHERE t1.A = 0 GROUP BY t1.B) 7 val q3 = (SELECT * FROM t1 WHERE t1.A = 0 GROUP BY t1.B)
8 val q4 = (SELECT * FROM t1 WHERE t1.A = 0 GROUP BY t1.C HAVING t1.C < 0.2) 8 val q4 = (SELECT * FROM t1 WHERE t1.A = 0 GROUP BY t1.B HAVING t1.B <> 'Bad')
9 9
10 val q5 = (SELECT t1.A, t2.D FROM t1, t2 GROUP BY t2.D, t1.A) 10 val q5 = (SELECT t1.A, t2.D FROM t1, t2 GROUP BY t2.D, t1.A)
11 val q6 = (SELECT t1.A, t2.D FROM t1, t2 WHERE t1.C = 0.0 GROUP BY t2.D, t1.A HAVING t1.A = t1.A AND t2.D = 17) 11 val q6 = (SELECT t1.A, t2.D FROM t1, t2 WHERE t1.C = 0.0 GROUP BY t2.D, t1.A HAVING t1.A = t1.A AND t2.D = 17)
12 12
13 13
14 datatype list a = Nil | Cons of a * list a 14 datatype list a = Nil | Cons of a * list a
15 15
16 val r1 : transaction (list {B : string}) = 16 val r1 : transaction (list {B : string}) =
17 query q1 17 query q4
18 (fn fs acc => return (Cons (fs.T1, acc))) 18 (fn fs acc => return (Cons (fs.T1, acc)))
19 Nil 19 Nil
20 20
21 val r2 : transaction string = 21 val r2 : transaction string =
22 ls <- r1; 22 ls <- r1;