How to pivot rows into columns MySQL
GROUP BY and using MAX or SUM is the most used standard pivot way. 

SELECT 
   results.sims_id
 , results.subject 
 , MAX(CASE WHEN results.progress_check = "C1" THEN results.result END) "C1"
 , MAX(CASE WHEN results.progress_check = "C2" THEN results.result END) "C2"
 , MAX(CASE WHEN results.progress_check = "C3" THEN results.result END) "C3"
FROM 
 results
GROUP BY
   results.sims_id
 , results.subject 
ORDER BY
    results.sims_id ASC
  , results.subject ASC


Result 

sims_id  subject  C1      C2      C3      
-------  -------  ------  ------  --------
   1111  Art      C       B       (NULL)  
   1111  English  6       5       (NULL)  
   1111  History  B       C       (NULL)  
   1111  maths    8       8       (NULL)  
   1111  science  A       B       (NULL)  
   2222  Art      (NULL)  A       (NULL)  
   2222  English  6               (NULL)  
   2222  ICT      A       B       (NULL)  
   2222  maths    7       6       (NULL)  
   2222  science  A       A*      (NULL)  


see demo http://sqlfiddle.com/#!9/0be1f2/1