mam 3 tabele w MySQL: 1) strona (id, tytuł) 2) użytkownik (id, name) 3) page_visit (page_id, visitor_id, timestamp_of_visit)MySQL kwerendy, aby znaleźć szereg unikalnych nowych użytkowników tygodniowo
Odwiedzający mogą odwiedzać strony wiele razy, przez kilka dni. W związku z tym, chociaż będziemy mieć jeden wiersz dla strony i jeden wiersz dla gościa, możemy mieć kilka wierszy page_visit, każdy z sygnaturą czasową wizyty.
Próbuję znaleźć liczbę niepowtarzalnych użytkowników, według tygodni. Wiem, jak uzyskać zapytanie "według liczby tygodni" dla nie-unikalnych (np. "Ilu użytkowników widziałem każdego tygodnia"). Nie wiem jednak, jak wybierać użytkowników z tygodnia na tydzień, gdy gość pojawia się na liście TYLKO przy pierwszym wyświetleniu.
----------- ----------- ----------------------------
| page | | visitor | | page_visit |
----------- ----------- ----------------------------
|id |title| |id |name | |pid|vid|timestamp of visit|
----------- ----------- ----------------------------
| 1 | p1 | | 1 | v1 | | 1 | 1 | 02-18-2016:08:30 |
| 2 | p2 | | 2 | v2 | | 1 | 1 | 02-18-2016:10:00 |
| 3 | p3 | | 3 | v3 | | 1 | 3 | 02-20-2016:23:45 |
| 4 | p4 | | 4 | v4 | | 2 | 3 | 02-22-2016:07:30 |
| 5 | p5 | | 5 | v5 | | 3 | 1 | 02-23-2016:08:30 |
| 6 | p6 | | 6 | v6 | | 3 | 6 | 02-24-2016:09:30 |
Co wynikowa powinna wskazywać:
------------------------
| results |
------------------------
| Week of | Net new |
------------------------
| 02-15-2016 | 2 |
| 02-22-2016 | 1 |
Jak wspomniano, mogę dowiedzieć się, jak pokazać wszystkich gości przez tydzień. Nie wiem, jak zdobyć wyjątkowych użytkowników.
Próbowałem wykonać min (znacznik czasu wizyty), ale w oparciu o to, gdzie próbowałem go, zwrócił najniższy znacznik czasu we wszystkich wierszach (co zrozumiałe ...).
Każda pomoc będzie bardzo ceniona!
Dzięki! Jest to bardzo pomocne i mam rzeczy do pracy oparte na tym! Utknąłem, próbując dowiedzieć się, jak wyrównać elementy, aby móc uruchomić funkcję liczenia. Do obliczeń "tydzień" użyłem następującego formatu: DATE_FORMAT (DATE_ADD (v.minvd, INTERVAL (1-DAYOFWEEK (v.minvd)) DAY), '% Y-% m-% d') AS "Tydzień" i wreszcie "GROUP BY YEARWEEK (v.minvd)" Mój silnik MySQL domyślnie rozpoczynał tydzień w niedzielę. Dziękuję Panu Linoff! – AaCc