Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zapytanie mysql
kerax82
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.02.2013

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
wiiir
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

Ostrzeżenie: (0%)
-----


  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

Ten post edytował wiiir 3.02.2013, 10:47:38
Go to the top of the page
+Quote Post
kerax82
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.02.2013

Ostrzeżenie: (0%)
-----


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ąć

Ten post edytował kerax82 3.02.2013, 10:56:39
Go to the top of the page
+Quote Post
wiiir
post
Post #4





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

Ostrzeżenie: (0%)
-----


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. )
Go to the top of the page
+Quote Post
kerax82
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.02.2013

Ostrzeżenie: (0%)
-----


wielkie dzieki za pomoc
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:44