Bonjour je souhaite faire quelque chose de tres simple en sql mais je ne comprend pas pourquoi il me bloque ma requete.
en gros, j'ai une base qui contient un champ date de naissance de type "date",
J'effectue mes jointure pour en degager les utilisateurs concerné, mais apres je veux simplement compter le nombre d'utilisateurs entre 25 et 30ans
j'ai tenté cela :
j'ai essayé de mettre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT COUNT(*) as compte, (DATEDIFF(CURDATE(), user_date_naissance)) AS calcul FROM t_user JOIN t_jointure ON tri_user_id = jointure_user_id JOIN x_diplome ON diplome_id = '42' AND dsd_entite_id = 520 WHERE (DATEDIFF(CURDATE(), user_date_naissance)) > 9490 AND (DATEDIFF(CURDATE(), user_date_naissance)) <= 10950ca me mettait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 WHERE calcul > 9490 AND calcul <= 10950
donc j'ai rajouté
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clauseet là j'ai le droit à un
Code : Sélectionner tout - Visualiser dans une fenêtre à part GROUP BY comptemais rien n'y fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Can't group on 'compte'
à vrai dire j'ai toujours ce genre de problemes que je résoud par des bidouillages mais je crois que j'ai beaucoup de mal avec la syntax du sql.
Si quelqu'un de genereux pouvait juste m'indiquer mon erreur que je vois le truc en sql que je pige pas (pourquoi je peux jamais sauver mes variables et les re-utiliser apres, et surtout comment modeliser la difference entre le COUNT qui me sort 1seul resultat et des autres trucs dont chaque ligne est à traiter et en sortir un resultat)
bref je bloque dessus et ca m'agace car le sql est incomparablement plus rapide que le php et est fait pour traiter les calculs et les tables et bloquer dessus ce genre de requetes depuis 1semaine et demi commence à me faire perdre les nerfs et me rendre fou
merci encore de votre aide!
Paul
Partager