このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/db/1299305530/839
#  MySQLです。 
#  テーブルから最初コラムAで並びかえて、その中の上位30個を 
#  コラムBで並び替えた結果がほしい時はどう書けばいいのでしょうか 
#   
#  SELECT * FROMT T ORDER BY A,B 
#  だと、Aの中の同じ値の物しかBでソートされないみたいです。 
# 
# 

'テーブルから最初コラムAで並びかえて、その中の上位30個をコラムBで並び替えた結果がほしい'(_A,_B) :-
        length(L0,30),
        findsetof([_A,_B],(
                    'T'(_A,_B)),
                  L1),
        sort(L1,L2),
        append(L0,_,L2),
        findall([_B,_A],member([_A,_B],L0),L3),
        sort(L3,L4),
        member([_B,_A],L4).