J'ai deux tables: les connexions et les visites. Logins
conserve la trace des dates auxquelles un utilisateur se connecte à un site Web et le tableau visits
conserve la trace de chaque utilisateur visitant un site Web. J'ai du mal à essayer d'obtenir le nombre de visites entre chaque date de connexion. Par exemple, les tableaux ressemblent à ceci:Comment obtenir le nombre de dates sans chevauchement dans SQL
Logins
|---------------------|------------------|
| user_id | login_date |
|---------------------|------------------|
| 12 | 2017-09-21 |
|---------------------|------------------|
| 12 | 2017-09-23 |
|---------------------|------------------|
| 149 | 2016-02-07 |
|---------------------|------------------|
Visites
|---------------------|------------------|
| user_id | visit_date |
|---------------------|------------------|
| 12 | 2017-09-21 |
|---------------------|------------------|
| 12 | 2017-09-21 |
|---------------------|------------------|
| 12 | 2017-09-22 |
|---------------------|------------------|
| 12 | 2017-09-23 |
|---------------------|------------------|
| 12 | 2017-09-24 |
|---------------------|------------------|
| 149 | 2016-02-07 |
|---------------------|------------------|
Je voudrais que ma table résultant de ressembler à ceci:
|---------------------|------------------|------------------|
| user_id | login_date | visit_counts |
|---------------------|------------------|------------------|
| 12 | 2017-09-21 | 3 |
|---------------------|------------------|------------------|
| 12 | 2017-09-23 | 2 |
|---------------------|------------------|------------------|
| 149 | 2016-02-07 | 1 |
|---------------------|------------------|------------------|
Actuellement I suis joignant les deux tables et un count(visits.event_date)
où la condition on
ressemble lik e ceci:
on visits.event_date <= logins.event_date
Cependant, cela se traduit par visit_counts = 5
pour user_id = 12
quand login_date is 2017-09-23
bc il est aussi les dates, y compris avant 23/09/2017.
postgres ou ruche? ne marquer qu'un seul. –