mysql - SQL statement for GROUP BY -


i stucked 1 sql select statement.

this output/result sql statement below:

enter image description here

what need: need have columns assignedvouchersnumber , usedvouchersnumber in 1 row msisdn. example if can see "msisdn" 723709656 there 2 rows now.. 1 assignedvouchersnumber = 1 , second assignedvouchersnumber = 1 too.

but need have in 1 row assignedvouchersnumber = 2. problem?

select eu.msisdn,    eu.id userid,     sum(case ev.voucherstate when '1' 1 else 0 end) assignedvouchersnumber,    sum(case ev.voucherstate when '2' 1 else 0 end) usedvouchersnumber,     ev.extra_offer_id,    ev.create_time,    ev.use_time,    ev.id voucherid,    ev.voucherstate   extra_users eu    join (select sn.msisdn telcislo,                 stn.numberid            stats_number sn                 join stats_target_number stn                   on ( sn.numberid = stn.numberid )           stn.targetid = 1) xy      on eu.msisdn = xy.telcislo    join extra_vouchers ev      on ( eu.id = ev.extra_user_id )  ev.create_time between '2012-07-23 00:00:00' , '2013-08-23 23:59:59'    , ev.use_time <= '2013-08-23 23:59:59'    , ev.use_time >= '2012-07-23 00:00:00'    , ev.voucherstate in ( 1, 2 )    , ifnull(ev.extra_offer_id in( 2335, 3195, 30538 ), 1)    group eu.msisdn, ev.extra_offer_id, ev.voucherstate order  eu.msisdn asc   

you have 2 different extra_offer_id same msisdn , vouchersnumber. thats why 2 rows.


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -