Maybe this:select top 3 * from(SELECT tbl3.worlds, CONVERT(FLOAT, tbl3.worldsessionlength) / CONVERT(FLOAT, tbl4.totalsessionlength) AS perc FROM (SELECT ( CASE WHEN world LIKE '%sunset%valley%' THEN 'SunsetValley' WHEN world LIKE '%River%view%' THEN 'RiverView' WHEN world LIKE '%China%' THEN 'China' WHEN world LIKE '%France%' THEN 'France' WHEN world LIKE '%Twin%Brook%' THEN 'TwinBrook' WHEN world LIKE '%Egypt%' THEN 'Egypt' ELSE 'Miscellaneous' END ) AS worlds, SUM(tbl1.sessionlength) AS worldsessionlength FROM (SELECT world, sessionlength, telemetry_id FROM world INNER JOIN world_telemetry ON ( world.id = world_telemetry.world_id )) AS tbl1 GROUP BY ( CASE WHEN world LIKE '%sunset%valley%' THEN 'SunsetValley' WHEN world LIKE '%River%view%' THEN 'RiverView' WHEN world LIKE '%China%' THEN 'China' WHEN world LIKE '%France%' THEN 'France' WHEN world LIKE '%Twin%Brook%' THEN 'TwinBrook' WHEN world LIKE '%Egypt%' THEN 'Egypt' ELSE 'Miscellaneous' END )) AS tbl2, (SELECT SUM(sessionlength) AS totalsessionlength FROM sessioninfo where timeuploaded >= dateadd(day,-30,(dateadd(d,datediff(d,0,getdate()),0)))) AS tbl3 )dtorder by perc DESC
No, you're never too old to Yak'n'Roll if you're too young to die.