このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/db/1299305530/890
#  初心者ですが失礼いたします。 
#  ID | DATA | TIME 
#  --+------  
#  1 | aaa | 01:02 
#  2 | bbb | 03:42 
#  1 | ccc | 02:11 
#  3 | bbb | 01:32 
#   
#  というデータがあるとしまして 
#  タイムが早い順に並べ替えて重複するIDを除外(この場合は1) 
#  するにはどのようなクエリを書けばよいのでしょうか? 
#   
#  select * from table ORDER BY `time` DESC 
#  でタイム順には並べることができていますが重複するID(人物) 
#  を除外したいのです。 
# 
# 
%  findsetof/3
%  findmin/3
%  を参照してください。

'タイムが早い順に並べ替えて重複するIDを除外する'(_ID,_DATA,_TIME) :-
        findsetof(_ID,(
                    テーブル(_ID,_DATA,_TIME)),
                  L1),
        append(_,[_ID|_],L1),
        findmax([_TIME,_ID,_DATA],(
                    テーブル(_ID,_DATA,_TIME)),
                [_TIME,_ID,_DATA]).