[spip-dev] SUM() MAX() MIN() COUNT() etc

Quand on fait une jointure avec {fusion} (GROUP BY) on aimerait
pouvoir récupérer directement des SUM() ou des COUNT(*)

Exemple, pour récupérer le total des stats d'article dans une rubrique
donnée, je suis obligé de faire deux boucles, la première étant
horriblement coûteuse :

  <BOUCLE_stats(spip_visites_articles spip_articles){id_rubrique}>
  #SET{visites-#DATE,#GET{visites-#DATE}|plus{#VISITES}}
  </BOUCLE_stats>
  <table id="stats" style="width:228px; max-height:300px; overflow:auto;">
  <BOUCLE_stats2(spip_visites_articles){fusion date}{par date}>
  <tr><td>#DATE</td><td>#GET{visites-#DATE}</td></tr>
  </BOUCLE_stats2>
  </table>

Je ne sais pas si ça peut entrer dans le compilo d'un manière ou d'une
autre ; une balise #SUM{visites} par exemple ?

-- Fil

Fil a écrit :

Quand on fait une jointure avec {fusion} (GROUP BY) on aimerait
pouvoir récupérer directement des SUM() ou des COUNT(*)

Exemple, pour récupérer le total des stats d'article dans une rubrique
donnée, je suis obligé de faire deux boucles, la première étant
horriblement coûteuse :

  <BOUCLE_stats(spip_visites_articles spip_articles){id_rubrique}>
  #SET{visites-#DATE,#GET{visites-#DATE}|plus{#VISITES}}
  </BOUCLE_stats>
  <table id="stats" style="width:228px; max-height:300px; overflow:auto;">
  <BOUCLE_stats2(spip_visites_articles){fusion date}{par date}>
  <tr><td>#DATE</td><td>#GET{visites-#DATE}</td></tr>
  </BOUCLE_stats2>
  </table>

Je ne sais pas si ça peut entrer dans le compilo d'un manière ou d'une
autre ; une balise #SUM{visites} par exemple ?
  
et après au niveau critère (si je veux ceux ayant une somme de visites >100 par exemple), tu verrais ca comment ?
pour m'etre un peu battu avec le critère frequence (nuage), je trouvais ca plus logique (et surtout beaucoup plus simple à coder) de definir ca au niveau de la boucle (l'accès à la donnée via balise n'etant qu'une consequence)
Mais bon, l'un n'empeche pas l'autre...

@++

PS : avec le code present dans nuage2, tu peux "presque" faire

<BOUCLE_stats(spip_articles){frequence visite}{id_rubrique}> (mais le mode de récupération est nul puisqu'il faut declarer #FREQUENCE_VISITE, ca serait bien mieux avec #FREQUENCE{visite})
le modele est facilement applicable aussi aux sommes, max, min...