:- use_module(library(lists)).
:- use_module(library(clpfd)).
fruit(1,apple).
fruit(1,orange).
fruit(1,grape).
fruit(2,banana).
fruit(2,strawberry).
fruit(2,tomato).
fruitsCount(Xa,Xs,Xn):-fruit(Xa,_),findall(X,fruit(Xa,X),Xs),length(Xs,Xn).
fruitsGroupingCount:-setof([Xa,Xs,Xn],fruitsCount(Xa,Xs,Xn),Lasn).
请问还有什么更简单的方式可以一步到位不,类似SQL的
create table fruit(Xa,X);
select contact(',',X),count(X) from fruit group by Xa的效果。
附加问题1:repeapt有没有用法实力呢?
附加问题2:集合中数据过滤该怎么做?
:- use_module(library(clpfd)).
fruit(1,apple).
fruit(1,orange).
fruit(1,grape).
fruit(2,banana).
fruit(2,strawberry).
fruit(2,tomato).
fruitsCount(Xa,Xs,Xn):-fruit(Xa,_),findall(X,fruit(Xa,X),Xs),length(Xs,Xn).
fruitsGroupingCount:-setof([Xa,Xs,Xn],fruitsCount(Xa,Xs,Xn),Lasn).
请问还有什么更简单的方式可以一步到位不,类似SQL的
create table fruit(Xa,X);
select contact(',',X),count(X) from fruit group by Xa的效果。
附加问题1:repeapt有没有用法实力呢?
附加问题2:集合中数据过滤该怎么做?