Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/09/2008, 11h38   #1
Membre éprouvé
 
Avatar de Dendrite
 
Femme Sylvie VAUTHIER
Développeuse Web
Inscription : juin 2008
Messages : 450
Détails du profil
Informations personnelles :
Nom : Femme Sylvie VAUTHIER
Âge : 46
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeuse Web
Secteur : Enseignement

Informations forums :
Inscription : juin 2008
Messages : 450
Points : 401
Points : 401
Par défaut requête qui exclut une valeur

J'ai testé toutes les possibilités, et je suis au bout de mon latin...
Code :
1
2
3
4
5
6
7
8
 
SELECT  `division`,`ordre` FROM `annuagent` GROUP BY `division` ORDER BY `ordre` WHERE `ordre` NOT IN "0"
 
SELECT  `division`,`ordre` FROM `annuagent` GROUP BY `division` ORDER BY `ordre` WHERE `ordre` != "0"
 
SELECT  `division`,`ordre` FROM `annuagent` GROUP BY `division` ORDER BY `ordre` WHERE `ordre` <> "0"
 
SELECT  `division`,`ordre` FROM `annuagent` GROUP BY `division` ORDER BY `ordre` WHERE `ordre` > "0"
Dendrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 11h59   #2
Modérateur
 
Avatar de Cybher
 
Homme Michel
Consultant informatique
Inscription : mai 2005
Messages : 3 006
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : mai 2005
Messages : 3 006
Points : 4 039
Points : 4 039
salut,

tu peux donner plus de précisions sur ton problème?

déjà, ta clause where doit se trouver avant ton group by
Cybher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 12h49   #3
Rédacteur
 
Avatar de Arnaud F.
 
Homme Arnaud Feltz
Développeur .NET
Inscription : août 2005
Messages : 5 204
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Feltz
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : août 2005
Messages : 5 204
Points : 6 113
Points : 6 113
Salut,

Ordre des instructions :

SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ...


Ce que tu cherches à faire est un HAVING (sélectionner selon le résultat du GROUP BY) et donc :

Code :
SELECT  `division`,`ordre` FROM `annuagent` GROUP BY `division` HAVING `ordre` NOT IN "0" ORDER BY `ordre`
Par contre, je vois pas à quoi sert ton regroupement étant donné que tu n'utilises aucune fonction d'aggrégation

Peux-tu être plus clair sur ce que tu souhaites faire?
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

Installation de Code::Blocks sous Debian à partir de Nightly Builds
Arnaud F. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 15h25   #4
Membre éprouvé
 
Avatar de Dendrite
 
Femme Sylvie VAUTHIER
Développeuse Web
Inscription : juin 2008
Messages : 450
Détails du profil
Informations personnelles :
Nom : Femme Sylvie VAUTHIER
Âge : 46
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeuse Web
Secteur : Enseignement

Informations forums :
Inscription : juin 2008
Messages : 450
Points : 401
Points : 401
Merci, vous avez raison, toutes mes façons de dire 'différent' étaient bonnes... C'est juste que je ne plaçais pas ma condition where au bon endroit.

Merci...
Dendrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 13h34   #5
Membre éprouvé
 
Avatar de Dendrite
 
Femme Sylvie VAUTHIER
Développeuse Web
Inscription : juin 2008
Messages : 450
Détails du profil
Informations personnelles :
Nom : Femme Sylvie VAUTHIER
Âge : 46
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeuse Web
Secteur : Enseignement

Informations forums :
Inscription : juin 2008
Messages : 450
Points : 401
Points : 401
J'ai encore un problème pourtant, et cette fois je m'explique.

J'ai une base de données locale qui se construit par un chrone toutes les nuits en allant récupérer les données de deux trois autres bases de données...

Je récupère entre autres un champ ordre qui classe les divisions on va dire dans un ordre de logique interne à l'entreprise.

Mon souci est le suivant,il faudrait que ma db locale élimine toute récupération de la division dont l'ordre est 180, parce qu'elle n'appartient plus à l'entreprise...

Or la requête qui précède ne fait qu'éliminer le contenu des données pour un jour, et les recharge sagement le lendemain...

Au niveau de ma base de données... Est-ce que je suis obligée de faire une fonction sql ? Ou bien dois-je agir au niveau du script PHP lancé par le chrone qui récupère ces données ?

D'avance, merci !
Dendrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 18h20   #6
Rédacteur
 
Avatar de Arnaud F.
 
Homme Arnaud Feltz
Développeur .NET
Inscription : août 2005
Messages : 5 204
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Feltz
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : août 2005
Messages : 5 204
Points : 6 113
Points : 6 113
Bonjour,

Avec ceci :

Code :
1
2
3
4
5
SELECT  `division`,`ordre`
FROM `annuagent`
WHERE ordre != 180
GROUP BY `division`
ORDER BY `ordre`
Ou bien voulez-vous carrément les supprimer?

Car vu que vous ne faites que des SELECT, il est normal qu'il recharge les données le lendemain

++

P.S: du point de vue sémantique, on parle de "cron" et non de "chrone"
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

Installation de Code::Blocks sous Debian à partir de Nightly Builds
Arnaud F. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2008, 12h26   #7
Membre éprouvé
 
Avatar de Dendrite
 
Femme Sylvie VAUTHIER
Développeuse Web
Inscription : juin 2008
Messages : 450
Détails du profil
Informations personnelles :
Nom : Femme Sylvie VAUTHIER
Âge : 46
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeuse Web
Secteur : Enseignement

Informations forums :
Inscription : juin 2008
Messages : 450
Points : 401
Points : 401
Oui, bien sûr, j'avais fait delete...

Je faisais select pour voir si je ne me trompais pas dans ma syntaxe, ensuite je transforme en delete.
Dendrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h43.


 
 
 
 
Partenaires

Hébergement Web