このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/db/1274791771/490
#  SQLite3を使用しています。 
#  select distinct(hoge) 
#  でhogeのユニークな値一覧が取得できますが、 
#  この結果の数を得る方法はないでしょうか? 
#   
#  よろしくお願いします。 
# 
# 

hogeのユニークな値のカウント(_テーブル,_解の数) :-
        hogeのユニークな値一覧を取得する(_テーブル,_値一覧),
        length(_値一覧,_解の数).
        
hogeのユニークな値一覧を取得する(_テーブル,_値一覧) :-
        atom(_テーブル),
        テーブル構造(_テーブル/N,Nth,hoge),
        length(L,N),
        P =.. [_テーブル|L]),
        finsetof(X,(
                    call(P),
                    list_nth(Nth,L,X)),
                _値一覧),!.
hogeのユニークな値一覧を取得する(_テーブル/N,_値一覧) :-
        テーブル構造(_テーブル/N,Nth,hoge),
        length(L,N),
        P =.. [_テーブル|L]),
        finsetof(X,(
                    call(P),
                    list_nth(Nth,L,X)),
                _値一覧),!.