php - Comment effectuer une recherche par plage pour un champ de tranche d'âge dans un format similaire à 20-35 ans dans MYSQL ?
代言
代言 2017-06-10 09:47:49
0
8
1007

Il y a un champ age dans mysql, qui stocke la tranche d'âge. Le format est comme indiqué sur l'image. S'il est 0-0, il est illimité

.

L'exigence actuelle est d'effectuer une recherche en fonction du groupe d'âge. Par exemple, je souhaite trouver toutes les données âgées de 25 à 34 ans.

Ensuite, voici le problème. Si vous utilisez et dans où, vous obtiendrez très peu de résultats, presque aucun. Si vous utilisez ou, les résultats deviendront plus nombreux, mais évidemment les résultats ne sont pas précis. Comment le trouver avec précision

Merci à tous pour vos réponses. La méthode que j'utilise actuellement est

.

SELECT age FROM jobs
WHERE ((substring_index(age,'-',1) >= 16 OR substring_index(age,'-',-1) = 0) OR (substring_index(age,'-',- 1) <= 24)) ET !(substring_index(age,'-',1) = 0 AND substring_index(age,'-',-1) = 0);

Cela fonctionne à peine, mais quelque chose semble bizarre

代言
代言

répondre à tous(8)
刘奇

D'après ce que vous avez dit, si 30-55 correspond à 25-34, ça peut être comme ça

select * from tbl where left(age,2)<=34 and right(age,2)>=25;
洪涛

C'est difficile à juger. Le 30-55 ans répond-il aux conditions du 25-34 ans que vous souhaitez ? Ou faut-il que ce soit entre 25 et 34 ? Cela dépend de vos besoins spécifiques

扔个三星炸死你

Je suis très curieux de savoir pourquoi la structure de la table de données est conçue comme ceci. Pourquoi ne stocke-t-elle pas l'âge ? Si la structure du tableau est conçue comme ceci, pourquoi devons-nous récupérer des données âgées de 25 à 34 ans ? Votre âge n'est qu'une plage spécifiée, pas une valeur spécifique. Vous devez repenser la structure de votre table et ne pas commettre d'erreurs par erreur

.
伊谢尔伦

1. Si vous enregistrez la tranche d'âge comme ceci, devriez-vous créer une autre clé pour distinguer la tranche d'âge ?
2. La capture d'écran montre également des modèles de portée tels que 1-5, 2-6 et 3-4. Si l'utilisateur choisit 3, lequel doit-il choisir ?

代言

Beaucoup de gens qui ne comprennent pas les fonctions intégrées de MySQL donnent des instructions aléatoires aux autres

为情所困

La source du problème est que la conception de la base de données n'est pas raisonnable

滿天的星座

Il est recommandé d'utiliser la pensée abstraite pour réfléchir : pensez aux informations stockées dans le champ d'âge du tableau comme à l'ensemble A, et pensez aux conditions dans lesquelles comme ensemble C. À quelle situation votre résultat final doit-il répondre ?

  1. L'ensemble A et l'ensemble C ont une intersection

  2. L'ensemble A est un sous-ensemble de l'ensemble C

  3. L'ensemble C est lui-même de l'ensemble C

Ensuite, sur cette base, la structure de votre table actuelle n'est certainement pas adaptée. Si la quantité de données n'est pas importante, vous pouvez nettoyer les données hors ligne et diviser le champ d'âge en limite inférieure et limite supérieure, puis appliquer la méthode de filtrage de collecte. beaucoup.

伊谢尔伦

La structure de votre table ne peut pas remplir la fonction que vous avez mentionnée

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!