Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
kerax82
witam

mam problem z zapytaniem

muszę policzyć liczbę połączeń klientów, którzy
- połączyli sie przez Infolinia01, wybrali 1 (digits) i rozłączył się na Infolinia02 lub Infolinia03, np. klient w wierszu 2 u numerze 7343 połączył sie przez infolinię 01 , wybrał 1 i został przeniesiony na infolinie 02 ( pokazuje to wiersz 3), nie wybrał nic i nastąpił timeout po czym się rozłączył, wszystko to niemal w tym samym czasie
- Infolinia01 wybrał 3 i odsłuchał Infolinia05 i się rozłączył lub nic nie wybrał


date_time comment digits timeout called numer usertag
2013-02-01 09:32 Infolinia 03 1 123456 5482 auygf
2013-02-01 09:32 Infolinia 01 1 0 123456 7343 6s8mr
2013-02-01 09:33 Infolinia 02 1 123456 7343 6s8mr
2013-02-01 09:36 Infolinia 01 1 0 123456 7950 zey0k
2013-02-01 09:36 Infolinia 02 1 123456 7950 zey0k
2013-02-01 09:36 Infolinia 03 1 123456 7950 zey0k
2013-02-01 09:37 Infolinia 01 2 0 123456 8438 pt12z
2013-02-01 09:37 Infolinia 04 1 123456 8438 pt12z
2013-02-01 09:38 Infolinia 01 1 0 123456 0139 t8xwu
2013-02-01 09:38 Infolinia 02 1 123456 0139 t8xwu
2013-02-01 09:38 Infolinia 03 1 123456 0139 t8xwu
2013-02-01 09:39 Infolinia 01 1 123456 0676 ghcnf
2013-02-01 09:39 Infolinia 02 3 0 123456 0676 ghcnf
2013-02-01 09:39 Infolinia 02 1 123456 0676 ghcnf
2013-02-01 09:39 Infolinia 03 1 123456 0676 ghcnf
2013-02-01 09:54 Infolinia 01 1 0 123456 3153 kw3s6
2013-02-01 09:54 Infolinia 02 1 123456 3153 kw3s6
2013-02-01 09:57 Infolinia 01 3 0 123456 3629 fwmc3
2013-02-01 09:57 Infolinia 01 1 0 123456 0226 s512x
2013-02-01 09:57 Infolinia 02 1 123456 0226 s512x
2013-02-01 09:57 Infolinia 03 1 123456 0226 s512x
2013-02-01 09:57 Infolinia 05 1 0 123456 3629 fwmc3
2013-02-01 09:57 Infolinia 03 1 123456 3629 fwmc3
2013-02-01 09:59 Infolinia 01 1 123456 5493 0j3az
2013-02-01 09:59 Infolinia 01 1 0 123456 2593 s73rz
2013-02-01 09:59 Infolinia 02 1 123456 5493 0j3az
2013-02-01 09:59 Infolinia 03 1 123456 5493 0j3az
2013-02-01 09:59 Infolinia 02 1 123456 2593 s73rz


  1. SELECT COUNT(usertag) FROM connections
  2. WHERE comment= 'Infolinia 01' AND ...


z góry dziękuję za pomoc
wiiir
  1. SELECT comment ,COUNT(usertag) FROM connections GROUP BY usertag


Nie widze u ciebie PK i chyba bez tego bedzie ciezko, bo wydaje mi sie ze potrzebny bedzie subquery
kerax82
wyciałem pierwsze pole id które w rzeczywistości nadala jest w bazie i które jest PK - lista numerowana od 1 do..., masz jakis pomysł jak to ogarnąć
wiiir
Jezeli klucz jest unikalny na dane połączenie to mozna to tak prosto zrobic

  1. //policz ile jest wszystkich
  2. SELECT count(*) FROM (
  3. // wszyscy uzytkownicy ktory sie przełączali - rozumiem ze nowy wpis jest jak sie przełącza miedzy infolinia?
  4. SELECT usertag, COUNT(*) FROM connections GROUP BY usertag HAVING COUNT(usertag) > 1
  5. )
kerax82
wielkie dzieki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.