title: How to transpose mysql table rows into columns
body: <p>Here is what my current mysql table looks like:</p>
  
  <pre><code>PunchID EmpID   PunchEvent  PunchDateTime
  1       0456    clockin     5/14/2013 8:36:26 AM
  48      0456    breakout    5/14/2013 12:01:29 PM
  53      0456    breakin     5/14/2013 12:28:31 PM
  54      0456    clockout    5/14/2013 2:28:33 PM
  57      0456    clockin     5/15/2013 7:38:34 AM
  58      0456    breakout    5/15/2013 7:38:39 AM
  59      0456    breakin     5/15/2013 7:38:41 AM
  60      0456    clockout    5/15/2013 7:38:42 AM
  </code></pre>
  
  <p>Now I want to return a result set that is grouped based on the day of the week like so:</p>
  
  <pre><code>Day       ClockIn      BreakOut    BreakIn      ClockOut
  Tuesday   8:36:26 AM  12:01:29 PM  12:28:31 PM  2:28:33 PM
  Wednesday 7:38:34 AM  etc, etc...
  </code></pre>
  
  <p>This is my current query.  But it only returns the first punch for each day.</p>
  
  <pre><code>SELECT DATE_FORMAT(PunchDateTime, '%W') as day, PunchEvent, DATE_FORMAT(PunchDateTime, '%l:%m:%s %p') as time FROM timeclock_punchlog WHERE EmpID = '0456' GROUP BY DATE(PunchDateTime) ORDER BY PunchDateTime ASC;
  </code></pre>
  
  <p>Can someone help me with this?
  Thanks
  Mike</p>