Maison > Questions et réponses > le corps du texte
J'utilise le code ci-dessous pour renvoyer les résultats d'un champ MySQL appelé registered_at afin de pouvoir récupérer les utilisateurs qui se sont inscrits sur le site au cours des 7 derniers jours et cela fonctionne bien :
andWhere('registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)')
Mon problème est que j'ai également besoin de récupérer les utilisateurs qui se sont inscrits sur le site au cours des 7 derniers jours. La logique est d'afficher les utilisateurs enregistrés au cours des 2 dernières semaines afin que je puisse ensuite afficher la différence entre ces 2 semaines sous forme de pourcentage, par exemple : 10 % d'utilisateurs en plus cette semaine.
J'ai essayé quelque chose de similaire :
andWhere('registered_at > UNIX_TIMESTAMP((NOW() - INTERVAL 14 DAY) - (NOW() - INTERVAL 7 DAY))')
Mais sans succès.
P粉9550636622024-01-30 00:54:09
Vous pouvez utiliser :
andWhere('registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 14 DAY)') andWhere('registered_at < UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)')
Cela générera un registered_at
的查询,但也会修剪过去 7 天的 registered_at
qui récupère les 14 derniers jours, vous conserverez donc un intervalle de 7 à 14 jours.
Si nous convertissons cela en une requête SQL "brute", ce serait :
SELECT * FROM users WHERE registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 14 DAY)' AND registered_at < UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)'