Groupé par les 3 première lettre, sql

Fermé
sinifer Messages postés 312 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 12 mars 2013 - 5 mai 2009 à 15:27
sinifer Messages postés 312 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 12 mars 2013 - 5 mai 2009 à 16:50
Bonjour,

j'ai un petit problème dans ma requete actuel je prend tous les customers_from qui commence par 1st et les regroupes mais mon problème c'est que je veu fair la même chose mais sur tous le champs customers_from

car par exemple j'ai dans mon champs les noms suivants :

1st_qwe, 1st_asd, 1st_ghj, 1st_poi, add_qwe, add_rtz, add_lkj, add_puz, poi_ghj, poi_gjhgj, poi_tgb etc...

donc j'aimerai prendre les trois preière lettre et fair ma condition comme celle là

SELECT IF(customers_from LIKE '1st%','1rst',customers_from) AS Origin,
                              COUNT(cu.customers_id) AS effectif_vg
                               FROM en_customers cu inner join en_commandes co on cu.customers_id=co.customers_id
                               WHERE customers_gratuite='1'
                               GROUP BY Origin " 


Merci a toute personne qui peu m'éclaircir
A voir également:

1 réponse

sinifer Messages postés 312 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 12 mars 2013 11
5 mai 2009 à 16:50
j'ai essayer ce code là qui marche mais j'arrive pas a affiché plus de 3 caractère pour ceu qui sont pas regroupé.

SELECT substr(customers_from, 1, 3) AS Origin, 
       COUNT(*) AS effectif_vg
FROM customers 
WHERE customers_client='0' 
AND customers_emv='0' 
AND customers_seance ='0' 
GROUP BY Origin 
1