博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中BIT_COUNT BIT_OR
阅读量:7261 次
发布时间:2019-06-29

本文共 784 字,大约阅读时间需要 2 分钟。

  1. CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL,  
  2.              day INT(2) UNSIGNED ZEROFILL);  
  3. INSERT INTO t1 VALUES(2000,1,1),(2000,1,20),(2000,1,30),(2000,2,2),  
  4.             (2000,2,3),(2000,2,3);  
  5. 示例表中含有代表用户访问网页的年-月-日值。可以使用以下查询来确定每个月的访问天数:  
  6.   
  7. SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1  
  8.        GROUP BY year,month;  
  9. 将返回:  
  10.   
  11. +------+-------+------+  
  12. | year | month | days |  
  13. +------+-------+------+  
  14. 2000 |    01 |    3 |  
  15. 2000 |    02 |    2 |  
  16. +------+-------+------+  
  17. 该查询计算了在表中按年/月组合的不同天数,可以自动去除重复的询问。  

<<位运算 使1左移了day位。
1<<2=0100  1<<3=1000
bit_or:相同值or运算后值一样,最后把不一样的值加起来。
1000 or 1000 or 0100 = 1100
bit_count:统计被制1的个数。
bit_count(1100) = 2;
说白了意思就是统计被制1的个数。
这个统计还可以这样写:select year, month, count(distinct day) from t1 group by year, month;

转载于:https://www.cnblogs.com/xingmeng/archive/2013/01/24/2874802.html

你可能感兴趣的文章
集分享/支付/授权的社会化组件,交流一下
查看>>
【CSS练习】IT修真院--练习6-护工列表界面
查看>>
自定义字体混淆信息的自动化破解
查看>>
使用ABAP代码返回S/4HANA Material上维护的Attachment明细
查看>>
【跃迁之路】【513天】程序员高效学习方法论探索系列(实验阶段270-2018.07.03)...
查看>>
SAP云平台CloudFoundry中的用户自定义变量
查看>>
Licia:最全最实用的 JavaScript 工具库
查看>>
关于Java IO与NIO知识都在这里
查看>>
手风琴效果 递归组件实战(vue)
查看>>
商城类小程序开发全过程(附源码)
查看>>
Python 包、模块、类的管理方案优化
查看>>
magento第二课:使用Apache web服务器搭建网站
查看>>
使用Excel消费C4C的OData service
查看>>
BOM基本概念
查看>>
QuickBI助你成为分析师-数据建模(二)
查看>>
JSON Web Token 简介
查看>>
小谈yii2中3个数据提供者及与GridView的搭配使用
查看>>
对于iOS性能优化的一点看法
查看>>
移动端字体大小调节器实现
查看>>
在开始第一个机器学习项目之前就了解的那些事儿
查看>>