# select〈 列1個 〉from テーブル group by〈 列2個 〉
# 
# group byの単体テスト
# 索引
# --索引無し

Begin;
Initialize;

InitializeSession "";
Command "create database TESTDB";
TerminateSession;

InitializeSession "TESTDB";

# メインテーブル
Command  "create table T(C1 int, C2 varchar(2), C3 nvarchar(4), C4 int, C5 nvarchar(32))";
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 1, "1", "ほげ", 111,  textsjisfile "..\\..\\doc\\hello.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 2, "1", "ホゲ", 222,  null                                 ];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 3, "2",  null,  222,  null                                 ];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 4, "3", "ホゲ", 222,  textsjisfile "..\\..\\doc\\hello.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 5, "4", "ホゲ", null, textsjisfile "..\\..\\doc\\hello.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 6, "1", "ぴよ", 333,  textsjisfile "..\\..\\doc\\hello.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 7, "2",  null,  333,  textsjisfile "..\\..\\doc\\hello.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 8, "3", "ぴよ", 333,  textsjisfile "..\\..\\doc\\ricoh.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [ 9, "1", "ピヨ", 444,  textsjisfile "..\\..\\doc\\ricoh.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [10, "2", "ピヨ", null, null                                 ];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [11, "3", "ピヨ", 444,  textsjisfile "..\\..\\doc\\ricoh.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [12, "5",  null,  null, textsjisfile "..\\..\\doc\\ricoh.txt"];
Command  "insert into T (C1, C2, C3, C4, C5) values (?, ?, ?, ?, ?)" [13, "2",  null,  null, null                                 ];


Command  "select C1 from T group by (C1, C1)";
Command  "select C1 from T group by (C1, C2)";
Command  "select C1 from T group by (C1, C3)";
Command  "select C1 from T group by (C1, C4)";
Command  "select C1 from T group by (C1, C5)";

Command  "select C2 from T group by (C2, C1)";
Command  "select C2 from T group by (C2, C2)";
Command  "select C2 from T group by (C2, C3)";
Command  "select C2 from T group by (C2, C4)";
Command  "select C2 from T group by (C2, C5)";

Command  "select C3 from T group by (C3, C1)";
Command  "select C3 from T group by (C3, C2)";
Command  "select C3 from T group by (C3, C3)";
Command  "select C3 from T group by (C3, C4)";
Command  "select C3 from T group by (C3, C5)";

Command  "select C4 from T group by (C4, C1)";
Command  "select C4 from T group by (C4, C2)";
Command  "select C4 from T group by (C4, C3)";
Command  "select C4 from T group by (C4, C4)";
Command  "select C4 from T group by (C4, C5)";

Command  "select C5 from T group by (C5, C1)";
Command  "select C5 from T group by (C5, C2)";
Command  "select C5 from T group by (C5, C3)";
Command  "select C5 from T group by (C5, C4)";
Command  "select C5 from T group by (C5, C5)";

Command  "drop table T";


TerminateSession;
# DBの後始末
InitializeSession "";
Command  "drop database TESTDB";
TerminateSession;
Terminate;
End;
