Comment utiliser UNIX_TIMESTAMP pour obtenir les 7 jours précédant les 7 derniers jours ?
P粉549412038
P粉549412038 2024-01-29 08:51:42
0
1
428

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粉549412038
P粉549412038

répondre à tous(1)
P粉955063662

Vous pouvez utiliser :

andWhere('registered_at > UNIX_TIMESTAMP(NOW() - INTERVAL 14 DAY)')
andWhere('registered_at 

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 
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal