してグループを試すことができ、それはCURRENT_TIMESTAMPの時間を含め過去12時間の合計(値)を返します()。特定の時間の行がない場合、その時間の集計にはゼロが返されます。
SELECT sum(IFNULL(`value`,0)) as aggregate,
MyTime.MyHour,
DATE_ADD(DATE(created_at),
INTERVAL HOUR(created_at) hour) as ActualHour
FROM
(SELECT DATE_ADD(DATE(CURRENT_TIMESTAMP()),
INTERVAL HOUR(CURRENT_TIMESTAMP())-hour.count hour) as MyHour
FROM
(SELECT 0 as count
UNION SELECT 1
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
UNION SELECT 6
UNION SELECT 7
UNION SELECT 8
UNION SELECT 9
UNION SELECT 10
UNION SELECT 11)AS Hour
)as MyTime LEFT JOIN
`clan_values` ON DATE_ADD(DATE(created_at),INTERVAL HOUR(created_at) hour) = MyTime.MyHour
AND `type` = '2'
GROUP BY MyTime.MyHour,ActualHour
ORDER BY MyTime.MyHour ASC
sqlfiddle