mysql contando linhas com loop
Eu tenho a seguinte tabela:
+-------------+--------------+
| product | purchased |
+-------------+--------------+
| Hammer | <timestamp> |
| Nipper | <timestamp> |
| Saw | <timestamp> |
| Nipper | <timestamp> |
| Hammer | <timestamp> |
| Hammer | <timestamp> |
| Saw | <timestamp> |
| Saw | <timestamp> |
| Saw | <timestamp> |
+-------------+--------------+
Eu gostaria de ver um resumo sobre o status de garantia desses produtos. A garantia deve ser de 5 anos a partir da data de compra. Portanto, com a data de hoje, deve ser possível verificar se um produto está ou não na garantia (com base na data de compra). Também gostaria de agora quando o último produto comprado estará fora da garantia. Aqui está uma tabela de exemplo:
+-------------+--------------+----------------+------------------+------------------+
| product | count | warranty valid | warranty expired | last p. warranty |
+-------------+--------------+----------------+------------------+------------------+
| Hammer | 3 | 1 | 2 | 10.03.2015 |
| Nipper | 2 | 2 | - | 01.01.2014 |
| Saw | 4 | 1 | 3 | 02.12.2013 |
+-------------+--------------+----------------+------------------+------------------+
Eu tentei criar a consulta para este exemplo, mas eu não sabia como fazer o loop dos resultados para cada produto para contar garantias válidas e assim por diante. Isso é o que eu tenho no momento:
SELECT
product,
date_format(from_unixtime(purchased), '%d.%m.%Y') AS purchaseDate,
date_format(date_add(from_unixtime(purchased), INTERVAL 5 YEAR), '%d.%m.%Y') AS warrantyEnd,
(
SELECT
COUNT(product)
FROM
productWarranty
) AS count
FROM
productWarranty s
GROUP BY
product
Eu não sei como escrever a subconsulta porque, eu preciso usar algo como WHERE product = Hammer. Mas como posso dizer ao SQL para fazer um loop para cada produto?