Services : Actualité Emploi Blog Forum Flux
Formation Trafic : Référencement Liens sponsorisés Affiliation Ecommerce Nom de domaine E-réputation Marketing Mobile Black Hat
Formation Technique : Performance Web Html Css Sql Curl Asp Dotnet Php Ajax Wordpress Twitter Google Analytics

Forum Oseox
Oseox

sql syntaxe SELECT COUNT et AS

Forum Référencement et Trafic
Nous sommes le Ven 24 Nov 2017 12:22

Heures au format UTC [ Heure d’été ]




Poster un nouveau sujet Répondre au sujet
Auteur Message
MessagePosté: Jeu 10 Mar 2011 18:08 
Bonjour,
je suis en train de développer l'espace membre de mon site web. J'ai récupéré un code sur le SDZ et je viens de tomber sur une syntaxe sql que je ne comprend pas.
Sans plus attendre la voici:

"SELECT COUNT(membre_id) AS nbr, membre_id, membre_pseudo, membre_mdp FROM membres WHERE
membre_pseudo = lePseudoTappéParLutilisateur GROUP BY membre_id);

pour la requete
SELECT COUNT(membre_id) As nbr FROM membres WHERE membre_pseudo = lePseudoTappéParLutilisateur

Je crois voir ce que ça veut dire :

aller dans la colonne membre_pseudo de la table membre,
sélectionner les entrées comportant la chaine de caractere : lePseudoTappéParLutilisateur
compter le nombre de fois ou apparait la chaine membre_id
et pour nombre, il contiendra le nombre d'occurrence trouvées.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Jeu 10 Mar 2011 18:31 
Avatar de l’utilisateur
Non tu as faux.

La requete SQL "SELECT COUNT(membre_id) AS nbr, membre_id, membre_pseudo, membre_mdp FROM membres WHERE
membre_pseudo = lePseudoTappéParLutilisateur GROUP BY membre_id);


Retourne le nombre d'occurrence dans la variable 'nbr' dans la table 'membres' dont le membre_pseudo est égale à lePseudoTappéParLutilisateur
Selon la syntaxe SQL COUNT doit être accompagné du regroupement sur lequel on compte ( GROUP BY membre_id )

En résultat de cette requête tu obtiens une ligne avec un nombre (nbr), le pseudo du membre (membre_pseudo) et le mot de passe (membre_mdp).

Fonctionnellement, cette requête doit vérifier que le membre n'est pas déjà inscrit car normalement tu dois obtenir la valeur 1 pour le nombre.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Jeu 10 Mar 2011 22:47 
merci pour ta réponse lemoussel.
Voyons si j'ai bien compris:

ci dessous j'ai repris la meme requete et j'ai numéroté ses parametres :

SELECT COUNT(membre_id(--1--)) AS nbr(--2--), membre_id(--3--), membre_pseudo(--4--), membre_mdp(--5--) FROM membres(--6--) WHERE
membre_pseudo(--7--) = lePseudoTappéParLutilisateur(--8--) GROUP BY membre_id(--9--));

(--1--) ? je ne comprend pas pourquoi on a pas (*)?

de 2 à 5 , les résultats de la requete :
(--2--) le nombre d'occurence c.a.d combien de fois les criteres de selection ont été respectés
(--3--) contiendra un int correspondant au nombre_id du membre respectant les critères de selection
(--4--) idem que (--3--) pour membre_pseudo sauf que c'est un string
(--5--) idem que (--4--) pour membre_mdp

criteres de selection :
(--6--) la table dans laquelle on fait la recherche
(--7--) dans la colonne membre_pseudo selectionner seulement les valeurs : lePseudoTappéParLutilisateur
(--8--) no comment car explicite

(--9--) colonne sur laquelle on fait le GROUP BY

REMARQUE :
GROUPE BY permet de classer les valeurs d'une colonne par identité de chaine exemple:
la colonne hebergement contient les valeurs suivantes :
Gite
Hôtel
Camping
Camping
Camping
Hôtel

group by retourne un array[3] avec:
array[0]=1
array[1]=2
array[2]=3

en effet il y a trois string différentes dans la colonne soit : gite hotel camping d'ou un array de 3 valeurs.
array[0]=1 car il n y a qu'une seule fois gite

lemoussel a écrit:
Fonctionnellement, cette requête doit vérifier que le membre n'est pas déjà inscrit car normalement tu dois obtenir la valeur 1 pour le nombre.


En effet fonctionnellement cette requete fait bien ce que tu dis.


Haut
 Profil Envoyer un e-mail  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 3 messages ] 

Heures au format UTC [ Heure d’été ]


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Abonnez-vous au flux RSS

Blog

Forum

Offres d'emploi

Copyright : Moteur, traduction et optimisation
Merci de votre visite sur le forum Oseox