このディレクトリの索引
http://toro.2ch.net/test/read.cgi/db/1343899481/705
#  SQL SERVER 2010ですが 
#  TOP 2を求めて残りをその他として合計表示したいです。 
#  よろしくお願いします。 
#   
#  元のデータ 
#  列1 
#  A 
#  A 
#  A 
#  B 
#  B 
#  C 
#  D 
#   
#  求めたい結果 
#  A      3 
#  B      2 
#  その他 2 
# 
# 

'TOP 2を求めて残りをその他として合計表示したい'(_A,_B,_その他) :-
        setof(_列1,[_列1] ^ テーブル(_列1),_一意の列1ならび),
        'TOP 2を求めて'(_一意の列1ならび,_A,_B,R),
        '残りをその他として合計表示したい'(R,_その他).

'TOP 2を求めて'(_一意の列1ならび,_A,_B,R) :-
        findall([_度数,_列1],(
                   member(_列1,_一意の列1ならび),
                   count(テーブル(_列1),_度数)),
                LL),
        sort(LL1,LL2),
        append(R,[_B,_A],LL2).

'残りをその他として合計表示したい'(R,_その他) :-
        findsum(_度数,member([_度数,_],R),_その他).