Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : construction de requêtes SQL [ Base de données / MySQL ] (KieferS)

jeudi 2 août 2007 à 13:43:20 | construction de requêtes SQL

KieferS

Salut,

J'ai le problème suivant concernant une de mes requêtes SQL...

Tout d'abord j'ai une base de données comme celles-ci :
nom          sexe             sante                   maladie
paul           homme          mauvaise              grippe
pierre         homme         bonne
claire          femme          mauvaise               grippe
jean            homme         mauvaise               rhume
fabrice        homme         mauvaise               grippe

Je souhaiterai connaître pour chaque maladie le nombre de personnes masculines atteintes. Ces maladies devant être classées par ordre décroissant selon le nombre de personnes concernées.

On devrait obtenir le résulta suivant :
maladie      count(*)
grippe           2
rhume           1

J'ai construit la requête suivante :
<?php
   $requete1=mysql_query("SELECT count(*), maladie FROM bilan_sante WHERE ((sexe='homme) AND ((sante='mauvaise')) GROUP BY maladie ORDER BY count(*) DESC");
?>

Voici mon algo qui fait "parler" ma requête :
<?php
 while($algo1=mysql_fetch_array($requete1))
{
   echo "$algo1[maladie]";
   echo "$algo1[0]";
}
?>

Lors de l'affichage de ma page, j'ai 1 erreur me disant que mon "mysql_fetch_array" contient un argument invalide. L'erreu vient sans doute de ma requête. J'ai essayé sans "ORDER BY count(*) DESC" : ça marche SAUF que je perds mon classement par ordre décroissant !!!

Y-a-t-il une astuce ou est-ce ma requête qui est masle construite ??!!

D'avance merci

A+


jeudi 2 août 2007 à 14:27:47 | Re : construction de requêtes SQL

J_G

Salut,


Deux choses :

1. Tu peux connaitres l'erreur MySQL que tu as commise :
$resultat = mysq_query( ... );
if ( $resultat === false ) die( mysql_error() );

2. Tu dois donner un alias (nom) à ta colonne "count(*)" pour pouvoir la réutiliser ailleur dans la requête :
select maladie, count(*) as nb from ... where ... order by nb desc

Avec tout ça, tu devrais y arriver

A+

jeudi 2 août 2007 à 14:33:11 | Re : construction de requêtes SQL

malalam

Administrateur CodeS-SourceS
Hello,

si c'est bien ça ta requête :
   $requete1=mysql_query("SELECT count(*), maladie FROM bilan_sante WHERE ((sexe='homme) AND ((sante='mauvaise')) GROUP BY maladie ORDER BY count(*) DESC");

elle est fausse.
=>
   $requete1=mysql_query("SELECT count(*), maladie FROM bilan_sante WHERE ((sexe='homme') AND ((sante='mauvaise')) GROUP BY maladie ORDER BY count(*) DESC");



Cette discussion est classé dans : count, requête, mauvaise, homme, maladie


Répondre à ce message

Sujets en rapport avec ce message

requête count [ par Tomcube ] Salut !J'ai une table news avec mes news, une table commentaires où sont stockés les commentaires de ces news. Dans ma page de news (qui en affiche 30 un lien qui indique à MySQL la requête à afficher [ par pyranhaz ] Bonjour,Cela semblait simple au départ, mais quand on est un néophyte, on sy perd rapidement :-sJ'ai un formulaire de recherche qui utilise MySQLquan Mise à jour d'une liste déroulante suite à une requête basée sur la valeur d'un champ [ par dubitoph ] Bonjour,Voici mon problème : j'ai un formulaire d'inscription dont un des champs est le code postal. Lorsque le code postal est saisi (sur l'événement Page multiples dans résultats MySQL [ par pyranhaz ] Bonjour,Existe-il une astuce simple pour que lorsque je fais une requête MySQL sur mon site on m'affiche les pages contenant au maximum 25 résultats p count [ par westsider ] comment en récupére la valeur d'un count dans mysql??$result = mysql_query("SELECT COUNT (id) AS truc FROM film");while($select = mysql_fetch_array($r affichage d'une requête comportant de deux autres requêtes [ par vir76 ] Je dispose de 3 requêtes :la 1ère :$requête fournitures="SELECT T_ANNEE.ANNEE_ANNEE, T_SOUSDIRECTION.ID_SOUSDIRECTION, T_SOUSDIRECTION.SOUSDIRECTION_N requête de non concordance avec jointure 3 tables [ par dubitoph ] ChristopheHé oui, je suis toujours là avec mes angoisses pour mon mémoire.J'ai une base de données MySql qui contient, en autres, une table "interimai exécution automatique requête mysql [ par sann ] Bonjour, Je voudrais savoir s'il y a un moyen d'exécuter automatiquement une requête Mysql à une heure précise avec Php/Mysql. Merci de votre aide. Requête sur AS400 [ par Bruto ] Bonjour,j'essaye de lancer une connection sur un as400 et lancer une requête. J'arrive à me connecter à l'as400 via odbc ( via driver client access ) Renseignement [ par zzzzzz ] Salut mysql_query("SELECT count( *) FROM membres WHERE nick = '$nick_' AND pass = '$pass_'")j'aimerai savoir se qu'est ce count( *) svp :)et j'aimerai


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.