Select SorterName,Induct_count,Sorted_count,OperRecirc_count,MachineRecirc_count,AWCSRecirc_count,Startstamp,Endtstamp, Induct_count/Induct_count as Induct_perc, Sorted_count/Induct_count as Sorted_perc, OperRecirc_count/Induct_count as OperRecirc_perc, MachineRecirc_count/Induct_count as MachineRecirc_perc, AWCSRecirc_count/Induct_count as AWCSRecirc_perc, Induct_count*3600/TIMESTAMPDIFF(second, Startstamp, Endtstamp) as Induct_rate, Sorted_count*3600/TIMESTAMPDIFF(second, Startstamp, Endtstamp) as Sorted_rate, OperRecirc_count*3600/TIMESTAMPDIFF(second, Startstamp, Endtstamp) as OperRecirc_rate, MachineRecirc_count*3600/TIMESTAMPDIFF(second, Startstamp, Endtstamp) as MachineRecirc_rate, AWCSRecirc_count*3600/TIMESTAMPDIFF(second, Startstamp, Endtstamp) as AWCSRecirc_rate FROM (SELECT 'S03' as SorterName, COUNT(*) AS Induct_count, SUM(alltable.ACTUAL_DEST <> 'S03999') AS Sorted_count, SUM(alltable.ACTUAL_DEST = 'S03999' AND (alltable.DivertStatus = 2 OR alltable.DivertStatus = 5 OR alltable.DivertStatus = 18 OR alltable.DivertStatus = 19 or alltable.DivertStatus = 20)) AS OperRecirc_count, SUM(alltable.ACTUAL_DEST = 'S03999' AND (alltable.DivertStatus = 1 OR alltable.DivertStatus = 3 OR alltable.DivertStatus = 4 OR alltable.DivertStatus = 6 OR alltable.DivertStatus = 13 OR alltable.DivertStatus = 14 OR alltable.DivertStatus = 17 OR alltable.DivertStatus = 21)) AS MachineRecirc_count, SUM(alltable.ACTUAL_DEST = 'S03999' AND (alltable.DivertStatus = 7 OR alltable.DivertStatus = 8 OR alltable.DivertStatus = 9 OR alltable.DivertStatus = 10 OR alltable.DivertStatus = 12 OR alltable.DivertStatus = 16)) AS AWCSRecirc_count, MIN(alltable.t_stamp) AS Startstamp, Max(alltable.t_stamp) AS Endtstamp FROM alltable Where (alltable.t_stamp BETWEEN :starttime AND :endtime) Group BY 'S03') basa