J'ai besoin d'get une list des adresses e-mail des users qui se sont connectés à mon site Web au cours d'une journée.
La list peut contenir des adresses e-mail en double mais pas plus d'une par jour.
J'ai besoin d'get ces données pendant une semaine.
J'ai une table qui contient des loggings pour chaque connection réussie comme suit.
[ID], [LOGIN_EMAIL], [LOGIN_TIME]
La requête suivante m'obtient l'set de données entier pour la semaine mais je dois le filterr à une adresse électronique par jour et get la list entière pour la semaine?
SELECT LOGIN_EMAIL FROM USER_LOGINS WHERE LOGIN_TIME IS BETWEEN @STARTDATE AND @ENDDATE
SELECT LOGIN_EMAIL, DATEADD(DAY, DATEDIFF(DAY, 0, LOGIN_TIME), 0) AS LOGIN_DATE FROM USER_LOGINS WHERE LOGIN_TIME BETWEEN @STARTDATE AND @ENDDATE GROUP BY LOGIN_EMAIL, DATEADD(DAY, DATEDIFF(DAY, 0, LOGIN_TIME), 0)
Utilisez le group by Day([LOGIN_TIME]), [LOGIN_EMAIL]
SELECT DISTINCT LOGIN_EMAIL,LOGIN_TIME FROM USER_LOGINS WHERE LOGIN_TIME IS BETWEEN @STARTDATE AND @ENDDATE
vous devrez peut-être passer LOGIN_TIME au format Day
select DISTINCT CONVERT(VARCHAR(10), LOGIN_TIME, 102) as LogDate, login_email from user_logins WHERE ...