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 2989 Date d'inscription Statut Membre Dernière intervention -
Breub62 Messages postés 2989 Date d'inscription Statut Membre Dernière intervention -
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.
A voir également:
- Extraire avec HAVING en MySQL
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Extraire image pdf - Guide
- Extraire texte d'une image - Guide
- Mysql community server - Télécharger - Bases de données
2 réponses
Le having ne s'utilise qu'après un group by... Ici tu dois utilisé un where minute = 1
le_joker_fou
Messages postés
765
Date d'inscription
Statut
Membre
Dernière intervention
239
Oui mais le soucis c'est que si j'utilise "WHERE minute=1" les ligne du style 0,1,2,3 ne sont pas renvoyées.
Breub62
Messages postés
2989
Date d'inscription
Statut
Membre
Dernière intervention
369
Dans ce cas peut être quelque chose du genre : WHERE minute LIKE "%,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.
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.