1 //select tuple with WHERE clause having param for some fields in Agggegate
2 //SELECT f1,AVG(f5) FROM T1 GROUP BY f1 HAVING AVG(f5)>?;
3 //SELECT f1,AVG(f5) FROM T1 WHERE f1>? GROUP BY f1 ;
4 //SELECT f1,AVG(f5) FROM T1 WHERE f1>? GROUP BY f1 HAVING AVG(f5)>?;
9 public static void main(String
[] arg
)
13 Class
.forName("csql.jdbc.JdbcSqlDriver");
14 Connection con
=DriverManager
.getConnection("jdbc:csql","root","manager");
15 Statement cStmt
=con
.createStatement();
16 PreparedStatement selStmt
=null;
18 System
.out
.println("SELECT T1.f1,AVG(T1.f5) FROM T1 GROUP BY T1.f1;");
19 selStmt
=con
.prepareStatement("SELECT T1.f1,AVG(T1.f5) FROM T1 GROUP BY T1.f1;");
21 rs
=selStmt
.executeQuery();
22 System
.out
.println("T1.f1\tAVG(T1.f5)");
25 System
.out
.println( rs
.getInt(1) + "\t"+
33 System
.out
.println("SELECT f1,AVG(f5) FROM T1 GROUP BY f1 HAVING AVG(f5)>5000;");
34 selStmt
=con
.prepareStatement("SELECT f1,AVG(f5) FROM T1 GROUP BY f1 HAVING AVG(f5)>?; ");
36 selStmt
.setDouble(1,(float)5000);
37 rs
=selStmt
.executeQuery();
38 System
.out
.println("T1.f1\tAVG(T1.f5)");
41 System
.out
.println( rs
.getInt(1) + "\t"+
49 System
.out
.println("SELECT f1,AVG(f5) FROM T1 WHERE f1>200 GROUP BY f1;");
50 selStmt
=con
.prepareStatement("SELECT f1,AVG(f5) FROM T1 WHERE f1>? GROUP BY f1; ");
52 selStmt
.setInt(1,(int)200);
53 rs
=selStmt
.executeQuery();
54 System
.out
.println("T1.f1\tAVG(T1.f5)");
57 System
.out
.println( rs
.getInt(1) + "\t"+
65 System
.out
.println("SELECT f1,AVG(f5) FROM T1 WHERE f1> 100 GROUP BY f1 HAVING AVG(f5)>5000;");
66 selStmt
=con
.prepareStatement("SELECT f1,AVG(f5) FROM T1 WHERE f1>? GROUP BY f1 HAVING AVG(f5)>?;");
68 selStmt
.setInt(1,100);
69 selStmt
.setDouble(2,(float)5000);
70 rs
=selStmt
.executeQuery();
71 System
.out
.println("T1.f1\tT1.f2\tAVG(T1.f5)");
74 System
.out
.println( rs
.getInt(1) + "\t"+
82 cStmt
.executeUpdate("Drop table T1;");
85 System
.out
.println("Exception in Test: "+e
);