Améliorez les calculs de date à l'aide de l'opérateur AND
P粉554842091
P粉554842091 2024-03-22 12:11:14
0
1
285

Je suis sûr que c'est une solution facile, mais je ne la trouve nulle part. J'essaie d'utiliser AND pour influencer les résultats d'une requête. La requête est la suivante.

select first_name, log_in, date_opened, datediff(log_in, date_opened) as date_diff from table1 where log_in < date_opened;

La première requête fonctionne donc correctement. Cela ne me donne que les lignes où la date de connexion est inférieure à date_opened, puis la différence totale de jours entre les deux, ce qui est génial. Cependant, je souhaite ajouter AND à la requête pour exclure certains totaux. Par exemple, l'exemple suivant :

select first_name, log_in, date_opened, datediff(log_in, date_opened) as date_diff from table1 where log_in < date_opened and date_diff > 1;

Le problème est que la colonne alias date_diff n'est pas reconnue comme une vraie colonne, je reçois donc un message d'erreur. J'ai essayé d'utiliser HAVING au lieu de AND, mais cela ne fonctionne pas (ce n'est pas ce que je pensais). Je veux essentiellement exclure les lignes avec des zéros. Est-ce que quelqu'un sait ce que j'utiliserais à la place de « and date_diff > 1 » ?

P粉554842091
P粉554842091

répondre à tous (1)
P粉308089080

Répétez l'expression dans la clause Where (c'est-à-dire utilisezdatediff(log_in, date_opened) > 1而不是date_diff > 1) ou utilisez une table dérivée, puis ajoutez la condition dans la requête englobante.

Exemple d'utilisation d'une table dérivée :

select first_name, log_in, date_opened, date_diff from ( select first_name, log_in, date_opened, datediff(log_in, date_opened) as date_diff from table1 where log_in 1
    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!