How to find count for every hour in mysql

SELECT h.theHour
     , COUNT(submitted) AS numberOfItems
  FROM ( SELECT 0 AS theHour
         UNION ALL SELECT 1
         UNION ALL SELECT 2
         UNION ALL SELECT 3
         UNION ALL SELECT 4
         UNION ALL SELECT 5
         UNION ALL SELECT 6
         UNION ALL SELECT 7
         UNION ALL SELECT 8
         UNION ALL SELECT 9
         UNION ALL SELECT 10
         UNION ALL SELECT 11 ) AS h
LEFT OUTER
  JOIN table
    ON EXTRACT(HOUR FROM table.submitted) = h.theHour
   AND DATE(table.submitted) = '2009-01-24'
GROUP
    BY h.theHour