Drop table if exists timetable; <br/> Create Table timetable (<br/> year Year (4), <br/> month int (2) unsigned zerofill, <br/> day int (2) unsigned zerofill <br/>); <br/> insert into timetable values (, 1), <br/>, 20), <br/> (, 30), <br/> (, 2), <br/> (, 23), <br/>, 23), <br/> (, 30); <br/>/* <br/> * check the number of days in each month <br/> * bit_count (N) returns the number of BITs set in parameter n. <Br/> */<br/> select year, month, bit_count (bit_or (1 <day) as days from timetable <br/> group by year, month; <br/>/* <br/> + ------ + ------- + ------ + <br/> | year | month | days | <br/> + ------ + ------- + ------ + <br/> | 2001 | 01 | 1 | <br/> | 2002 | 06 | 1 | <br/> | 2003 | 05 | 1 | <br/> | 2004 | 02 | 1 | <br/> | 2005 | 04 | 1 | <br/> | 2006 | 03 | 1 | <br/> + ------ + ------- + ------ + <br/> 6 rows in SET (0.02 Sec) <br/> */