さじろーどっとねっと
<@ret = access( "group $cal $no, $cal $no, .... ",@rec)>

条件に従って配列をグルーピングした結果を返します。 関数連結対応に対応しています。
引数
$cal
グループピングルールの拡張パラメタです。grp:グループ(同一のものは一行にします)、cnt:NULL以外の件数を集計します、sum:合計値を算出します。max:最大値、min最小値を組み合わせて使用します。
$cnt
抽出対象の項目番号を指定します。
@rec
配列を指定します。
@ret
抽出したデータを返します
Sample Program

require "sajidb.pl"; ## データベースファイルの宣言
$sdb = new sajidb(); ## データベースの初期化

@data=( "01<>ccc<>1<>", "02<>bbb<>0<>", "03<>aaa<>1<>", "04<>aaa<>2<>" );

## 1番目の項目でグループ、2番目の項目の合計を集計します。
@dat=$sdb->access("group grp 1, sum 2", @data);
## 結果はこのようになります。
## ccc<>1<>
## bbb<>0<>
## aaa<>3<>

## 1番目の項目でグループ、2番目の項目の合計
## 1番目の項目の個数、2番目の項目の最大値を返します。
@dat=$sdb->access("group grp 1, sum 2, cnt 1, max 2", @data);
## 結果はこのようになります。
## ccc<>1<>1<>1<>
## bbb<>0<>1<>0<>
## aaa<>3<>2<>2<>


ブックマークに追加する