mysql的BIT_COUNT,BIT_COUNT

bit_count(expr):计算expr中“1”的个数,bit_count(2)-->1。

                            

bit_or(expr):就是对两个二进制数进行或运算

看mysql手册时,有一个列子:

显示了如何使用位组函数来计算每个月中用户访问网页的天数。

CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL,

             day INT(2) UNSIGNED ZEROFILL);

INSERT INTO t1 VALUES(2000,1,1),(2000,1,20),(2000,1,30),(2000,2,2),

            (2000,2,23),(2000,2,23);

示例表中含有代表用户访问网页的年-月-日值。可以使用以下查询来确定每个月的访问天数:

SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1  GROUP BY year,month;

看完,觉得是个很神奇的功能,可是深究,越看越不懂题目的意思了。这个到底是想查什么,统计每个月用户访问量,那为什么要去重,还有为什么会有两条一样的数据呢?

我想了很久,还说没有想到可以用这个组合的功能,先留着这个吧,如果以后遇到了,再记录具体例子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值