このディレクトリの索引
http://pc11.2ch.net/test/read.cgi/db/1252492296/119
#  mysql 5.1.37 
#   
#  (問)  
#  [groupテーブル] 
#  group_id   | group_name 
#  ---------+----------- 
#  g1      | グループ1 
#  g2      | グループ2 
#  g3      | グループ3 
#   
#  [belongテーブル] 
#  group_id  | user_id   | status 
#  ---------+---------+------ 
#  g1      | u1     | 1 
#  g2      | u2     | 0 
#  g2      | u3     | 1 
#  g2      | u4     | 1 
#   
#  このようなテーブルから、下記のように  
#  group_name | user_count 
#  -----------+----------- 
#  グループ1  | 1 
#  グループ2  | 2 
#  グループ3  | 0 
#  各グループ毎の「belong.status = 1」の所属ユーザ数を取得したいです。 
#   

group(g1,グループ1). 
group(g2,グループ2).
group(g3,グループ3).

belong(g1,u1,1).
belong(g2,u2,0).
belong(g2,u3,1).
belong(g2,u4,1).

?-  group(_group_id,_group_name),
    count(belong(_group_id,_,1),Sum),
    write_formatted('%t  | %t\n',[_group_name,Sum]),
    fail;
    true.