+--------+------------+------------+
| name | begin | end |
+--------+------------+------------+
| Jan | 2003-01-01 | 2003-01-31 |
+--------+------------+------------+
| ... |
+--------+------------+------------+
| Dec | 2003-12-01 | 2003-12-30 |
+--------+------------+------------+
####
SELECT contacts.state, bucket.name, count(*)
FROM contacts, bucket
WHERE contacts.indentifer BETWEEN bucket.begin AND bucket.end
GROUP BY bucket.name, contacts.state
ORDER BY contacts.state
##
##
+--------+------------+------------+
| name | begin | end |
+--------+------------+------------+
| 1Q03 | 2003-01-01 | 2003-03-31 |
+--------+------------+------------+
| ... |
+--------+------------+------------+
| 4Q03 | 2003-10-01 | 2003-12-30 |
+--------+------------+------------+