关于聚合事实的问题,有没有直接分类事实,获取多少条的谓词呢?
prolog吧
全部回复
仅看楼主
level 3
:- 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:集合中数据过滤该怎么做?
2021年02月07日 05点02分 1
level 3
fruitsGroupingCount:-setof([Xa,Xs,Xn],fruitsCount(Xa,Xs,Xn),Lasn).
这个谓词fruitsGroupingCount(Xa,Xs,Xn,Lasn)没有粘贴全,另运行如下
14 ?- fruitsGroupingCount(Xa,Xs,Xn,Lasn).
Lasn = [[1, [apple, orange, grape], 3], [2, [banana, strawberry, tomato], 3]].
2021年02月07日 06点02分 2
吧务
level 14
可能是百度审核了好长时间,这个帖子之前一直没能看到。
附加问题2中,“集合中数据过滤”是什么意思?
2023年04月06日 01点04分 3
1