このディレクトリの索引

#  テーブル:
#  no comment id(テーブル名:テーブル)
#  1 aaaaa 春
#  2 bbbbb 夏
#  3 ccccc 春
#  4 ddddd 春
#  :
#  
#  欲しい結果:
#  no comment id count(*)
#  3 ccccc 春 2
#  
#  
#  idが春のものの数を集計したく、
#  select *,count(*) from baka group by id where id = '春';
#  でそれは可能なんですが、selectで取れる他の結果(commentとか)は、noが3のものを表示したいんです
#  
%  別々に計算するつもりで、定義する。

テーブル(1,aaaaa,春).
テーブル(2,bbbbb,夏).
テーブル(3,ccccc,春).
テーブル(4,ddddd,春).


節を取得時に集約値を併記する(_no,_comment,_id,_度数) :-
テーブル(_no,_comment,_id),
count(テーブル(_,_,_id)),_度数).

count(P,C) :-
findall(1,P,L),
length(L,C).


?- 節を取得時に集約値を併記する(_no,_comment,春,_度数).
_no = 1, _comment = aaaaa, _度数 = 3;
_no = 3, _comment = ccccc, _度数 = 3;
_no = 4, _comment = ddddd, _度数 = 3;
false.