Extraire avec HAVING en MySQL
Résolu
le_joker_fou
Messages postés
765
Date d'inscription
Statut
Membre
Dernière intervention
-
Breub62 Messages postés 3452 Statut Membre -
Breub62 Messages postés 3452 Statut Membre -
Bonjour,
voilà mon problème, je souhaite extraire tous les informations de ma base de données qui comporte dans le champs "minute" de la minute en cour. Seulement mon champs "minute" peut contenir plusieurs minutes et sera enregistré sous forme 0,1,2,3 ou tout simplement 1.
Dans le premier cas cela signifie que le champs doit être lus à 0 minute (11h00), 1 minute (11h01), etc... Dans le deuxième uniquement les 1 minute (11h01).
Ma question : comment faire pour récupérer tous les champs contenant uniquement "1" pas "11" ou "21" mais "1".
J'ai pensé à utiliser having : SELECT * FROM ma_table HAVING 'minute'=1
mais cela me renvoie uniquement les enregistrements ou le champs "minute" commence par "1".
Merci de votre aide.
voilà mon problème, je souhaite extraire tous les informations de ma base de données qui comporte dans le champs "minute" de la minute en cour. Seulement mon champs "minute" peut contenir plusieurs minutes et sera enregistré sous forme 0,1,2,3 ou tout simplement 1.
Dans le premier cas cela signifie que le champs doit être lus à 0 minute (11h00), 1 minute (11h01), etc... Dans le deuxième uniquement les 1 minute (11h01).
Ma question : comment faire pour récupérer tous les champs contenant uniquement "1" pas "11" ou "21" mais "1".
J'ai pensé à utiliser having : SELECT * FROM ma_table HAVING 'minute'=1
mais cela me renvoie uniquement les enregistrements ou le champs "minute" commence par "1".
Merci de votre aide.
2 réponses
-
Le having ne s'utilise qu'après un group by... Ici tu dois utilisé un where minute = 1
-
Et pourquoi pas un petit REGEX.
Je viens de trouver une solution, les expressions régulières : WHERE minute REGEX '^([0-9]+,)*".$minute."(,[0-9]+)*$'
Pour ceux qui en aurais besoin et qui ne comprenne pas.
- ^([0-9]+,)* : La chaine peut comporter des chiffres suivit d'une virgule en début de chaine.
- ($minute) : Suivit ensuite de la minute en cour.
- (,[0-9]+)* : La chaine peut comporter une virgule suivit de chiffre en fin de chaine.
Encore merci Breub62.