Pytanie : 3 stół

wybrany c.id, g.desc, data (c.call_start) jako date_call, godzina (c.call_start) jako hour_call, concat (podłoga (avg (1.0*c.duration) /60) , ": ", round (avg (1.0*c.duration) %60)) gdy avg_duration_mm_ss_string
from wezwanie c wewnętrzny łączyć `t `. `brama `g na c.id=g.id dokąd c.call_start > "2010-07-04 00:00: 00" i c.call_start < "2010-07-04 23:59: 59" grupa c.id, g.desc, data (c.call_start), godzina (c.call_start) rozkaz 1,2,3;

Now I także mieć stół imię callsf jako cf. Call_start także mieć call_start. Teraz i potrzebować the obliczenie call_start przy callf przy każdy godzina na ID i wtedy i musieć obliczenie (c.call_start)/(count (c.call_start) +count (cf.call_start))

I potrzeba wszystkie/>
w jeden query.

Odpowiedź : 3 stół

Ty ty dostawać dla

wybrany cf.id, data (cf.call_start) jako D, godzina (cf.call_start) jako h, obliczenie (cf.call_start) jako count_cf
      od callsf cf
      dokąd cf.call_start >= "2010-07-04 00:00: 00" i cf.call_start <�>      grupa cf.id, data (cf.call_start), godzina (cf.call_start)

?
Ono uszeregowywać (id, data, godzina) przeciw the below?

      wybrany c.id, data (c.call_start) jako D, godzina (c.call_start) jako h, obliczenie (c.call_start) jako count_c,
            concat (podłoga (avg (1.0*c.duration) /60), ": ", 1.0*c.duration (avg (1.0*c.duration) %60)) avg_duration_mm_ss_string
      od wezwanie c
      dokąd c.call_start >= "2010-07-04 00:00: 00" i c.call_start <�>      grupa c.id, data (c.call_start), godzina (c.call_start)

The kod pudełko musieć różnica (zamieniać wewnętrzny/z lewej strony łączyć stołowy rozkaz), ale dawać ono próba jakkolwiek.
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
wybrany c.id, g.desc, c.d jako date_call, c.h jako hour_call,
      count_c/NULLIF (count_c + IFNULL (count_cf, (0)), (0)) jako SomePercentage
od `t `. `brama `g
wewnętrzny łączyć (
      wybierać c.id, data (c.call_start) jako D, godzina (c.call_start) jako h, obliczenie (c.call_start) jako count_c,
            concat (podłoga (avg (1.0*c.duration) /60), ": ", 1.0*c.duration (avg (1.0*c.duration) %60)) avg_duration_mm_ss_string
      od wezwanie c
      dokąd c.call_start >= "2010-07-04 00:00: 00" i c.call_start <>= "2010-07-04 00:00: 00" i cf.call_start  <>
           
Inne rozwiązania  
 
programming4us programming4us