2013-12-09 3 views
0

Я Слежение за датами в LogiQL предиката:LogiQL: Найти максимальное значение для предиката

compilation_date[c] = d -> compilation(c), datetime(d). 

Я хотел бы узнать, что последняя выполнена компиляция, т.е. то, что является c, для которого d является последним в предикате compilation_date.

Как бы это сделать с помощью LogiQL?

ответ

1

Try:

last_compilation_date[]=maxd <- 
    agg<<maxd=max(d)>> 
     compilation_date[_]=d. 
1

Синтаксис Argmax является:

max_date[]=y,last_compilation[]=x<- 
    agg<<y=max(y0),x=max(y0,x0)>> 
    compilation_date[x0]=y0. 

как в этом примере

lbi ttt> addblock <doc> 
> compilation_date[x]=y->datetime(y),int[32](x). 
> max_date[]=y,last_compilation[]=x<-agg<<y=max(y0), x=max(y0,x0)>>compilation_date[x0]=y0. 
> </doc> 
added block '__block2' 
lbi ttt> 
lbi ttt> exec '+compilation_date[2]=datetime:now[].' 
lbi ttt> exec '+compilation_date[1]=datetime:add[datetime:now[],1,"days"].' 
lbi ttt> print compilation_date 
1 2013-12-10 20:03:23 
2 2013-12-09 20:03:23 
lbi ttt> print max_date 
2013-12-10 20:03:23 
lbi ttt> print last_compilation 
1 
lbi ttt> 
Смежные вопросы