Maison > base de données > tutoriel mysql > Comment filtrer efficacement les utilisateurs par tranche d'âge à l'aide des champs de date SQLAlchemy ?

Comment filtrer efficacement les utilisateurs par tranche d'âge à l'aide des champs de date SQLAlchemy ?

Mary-Kate Olsen
Libérer: 2024-12-24 15:28:15
original
376 Les gens l'ont consulté

How to Efficiently Filter Users by Age Range Using SQLAlchemy Date Fields?

Filtrage des champs de données SQL

Lorsque vous travaillez avec des données dans une base de données SQL, il est souvent nécessaire de filtrer des champs spécifiques pour récupérer des informations ciblées. Dans ce cas, nous explorons comment filtrer un champ représentant des dates à l'aide de SQLAlchemy.

Étant donné le modèle suivant :

class User(Base):
    ...
    birthday = Column(Date, index=True)   #in database it's like '1987-01-17'
    ...
Copier après la connexion

Notre objectif est de filtrer les utilisateurs en fonction de leurs anniversaires, en particulier ceux dans une tranche d'âge particulière, par exemple entre 18 et 30 ans.

À l'origine, vous avez tenté d'implémenter le filtrage using :

query = DBSession.query(User).filter(
    and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17')
)
Copier après la connexion

Cependant, cette requête est incorrecte en raison d'une faute de frappe. Le filtre approprié doit être :

qry = DBSession.query(User).filter(
    and_(User.birthday <= '1988-01-17', User.birthday >= '1985-01-17')
)
Copier après la connexion

Une autre alternative pour filtrer les plages de dates est la fonction between :

qry = DBSession.query(User).filter(User.birthday.between('1985-01-17', '1988-01-17'))
Copier après la connexion

En utilisant ces requêtes filtrées, vous pouvez récupérer des enregistrements d'utilisateurs spécifiques en fonction de leur dates de naissance, vous permettant d'effectuer d'autres opérations ou analyses sur les données sélectionnées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal