Regroupement de données dans un champs SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Regroupement de données dans un champs SQL

Re: Regroupement de données dans un champs SQL

par zied86 » 02 avr. 2011, 00:42

Bonjour,
vous pouvez utiliser cette requete select id,SUM(poids) from table group by id

Re: Regroupement de données dans un champs SQL

par Maskime » 25 mars 2011, 18:04

+1 moogli
La dernière fois que j'ai rencontré ce genre de champs il y a eu aveu de "fainéantise de créer une autre table pour stocker que ça" de la part du précédent développeur.
Surtout si ça fait référence à un produit avec un Id, pourquoi pas stocker la valeur du poids directement dans la table qui enregistre les produits ? Si tu fais ça tu pourras utiliser les fonctions d’agrégation de MySQL et le laisser faire les sommes à ta place.

Je sais aussi que des fois c'est juste pas possible de faire autrement :D

Re: Regroupement de données dans un champs SQL

par moogli » 24 mars 2011, 21:41

salut,

il faudrait, en php utiliser explode pour séparer toutes les valeurs et ensuite en parcourant le tableau résultat faire le calcul pour recréer la chaîne.


Par contre, bien que je connaisse pas l'application complète, je pense que ce type de "stockage" d'info est un problème de conception de l'appli ;)


@+

Regroupement de données dans un champs SQL

par vince62fr » 24 mars 2011, 16:45

Bonjour à tous,

Je bloque sur un traitement sql et j'aimerai avoir votre aide.

Je m'explique:
J'ai dans une table 1 champ regroupant un ensemble d'id et de poids, séparé par un ";" eux mêmes séparés d'autres ID par un "|".

EX : 521;0.5|522;0.5|523;1|524;4|525;0.5|521;2
Où 521 = un id
et 0.5 = le poids de l'id
J'ai donc dans cet exemple 6 entrées pour 5 produits différents (le 521, 522, 523, 524, 525).

Ce que j'aimerai faire, c'est regrouper les différents ID et calculer un poids unique en additionnant les différentes valeurs.

L'objectif est donc d'obtenir cela :
521;2.5|522;0.5|523;1|524;4|525;0.5
Avez vous une idée ?

Merci