狗狗佳缘最烂的空间

不积硅步无以至千里 不积小流无以成江海
http://www.jcan.19dog.com/

查看文章

MySQL中BIT_COUN和BIT_OR的使用。统计每个月天数不同的有几个

2009/05/03 4:47 P.M.
  1. Drop table if exists timeTable;  
  2.   
  3. CREATE TABLE timeTable (  
  4.     year YEAR(4),   
  5.     month INT(2) UNSIGNED ZEROFILL,  
  6.     day INT(2) UNSIGNED ZEROFILL  
  7. );  
  8.   
  9. INSERT INTO timeTable VALUES(2001,1,1),  
  10.                             (2002,6,20),  
  11.                             (2003,5,30),  
  12.                             (2004,2,2),  
  13.                             (2005,4,23),  
  14.                             (2006,3,23),  
  15.                             (2002,6,30);  
  16.   
  17. /*    
  18.  * 看看每个月发生的不同的天数  
  19.  * BIT_COUNT(N) 返回在参数 N 中设置的比特位数量。  
  20.  */  
  21.   
  22. SELECT yearmonth, BIT_COUNT(BIT_OR(1<<day)) AS days FROM timeTable  
  23.        GROUP BY year,month;  
  24. /*  
  25. +------+-------+------+  
  26. year | month | days |  
  27. +------+-------+------+  
  28. | 2001 |    01 |    1 |  
  29. | 2002 |    06 |    2 |  
  30. | 2003 |    05 |    1 |  
  31. | 2004 |    02 |    1 |  
  32. | 2005 |    04 |    1 |  
  33. | 2006 |    03 |    1 |  
  34. +------+-------+------+  
  35. rows in set (0.02 sec)  
  36. */  
  37.         

网友评论

暂无评论

发表评论

姓 名:
网址/邮箱:
(选填)
内 容:
验证码:
导航