当前位置: 首页 > news >正文

长春免费做网站淘宝直通车推广怎么收费

长春免费做网站,淘宝直通车推广怎么收费,邯郸代办公司注册,南京网站建设哪家专业文章目录 创建 Bitmap 对象Bitmap 转换为整数数组计算总数(去重)值指定start, end 索引生成子 Bitmap指定 start 索引和数量限制生成子 Bitmap指定偏移量生成子 Bitmap是否包含指定元素两个 Bitmap 是否存在相同元素一个是否为另一个 Bitmap 的子集求最小…

文章目录

    • 创建 Bitmap 对象
    • Bitmap 转换为整数数组
    • 计算总数(去重)值
    • 指定start, end 索引生成子 Bitmap
    • 指定 start 索引和数量限制生成子 Bitmap
    • 指定偏移量生成子 Bitmap
    • 是否包含指定元素
    • 两个 Bitmap 是否存在相同元素
    • 一个是否为另一个 Bitmap 的子集
    • 求最小值
    • 求最大值
    • And 求交集
    • Or 求并集
    • Andnot 求差集
    • Xor 求并集元素减去交集元素
    • 求交集元素个数
    • 求并集元素个数
    • 求差集元素个数
    • 求异或元素个数
    • 替换指定范围内的元素

Bitmap 类型说明

  • ClickHouse中的Bitmap对象,本质上是聚合函数类型AggregateFunction(groupBitmap, UInt*)
  • 使用 Bitmap 存储无符号整数,可以节省存储空间,无法直接查询Bitmap 中的数据,需要转换为数组才可以查看。
  • 可以通过 groupBitmap(expr)快速求去重后的总数,等价于 count(distinct expr)

创建 Bitmap 对象

它有两种构造方法:

  • 通过 bitmapBuild 将无符号整数数组转换为 Bitmap 对象

    SELECT bitmapBuild([1,2,3]) AS res
    
  • 使用聚合函数groupBitmapState创建Bitmap对象, 将无符号整数列转换为 Bitmap 对象。

    SELECT groupBitmapState(UserID) AS res
    FROM hits_v1
    where UserID IN ()
    

    快速求去重后的数量:

    # 等价于 count(distinct(UserID))
    SELECT groupBitmap(UserID) AS res FROM hits_v1
    

    输出如下:
    image.png

Bitmap 转换为整数数组

bitmapBuild(array)

select bitmapBuild([1,2,3]) AS res, bitmapToArray(res) AS arr;################
┌─res─┬─arr─────┐
│     │ [1,2,3] │
└─────┴─────────┘

计算总数(去重)值

bitmapCardinality(bitmap)
数组中的元素为 Uint64 类型的

SELECT bitmapCardinality(bitmapBuild([1,2,3,4,5,5,5])) AS res;#################
┌─res─┐
│   5 │
└─────┘

指定start, end 索引生成子 Bitmap

bitmapSubsetInRange(bitmap, range_start, range_end)

SELECT bitmapToArray(bitmapSubsetInRange(bitmapBuild([0,1,2,3,4,5,6,7,8]), toUInt32(1), toUInt32(3))) AS res;################
┌─res───┐
│ [1,2] │
└───────┘

指定 start 索引和数量限制生成子 Bitmap

bitmapSubsetLimit(bitmap, range_start, cardinality_limit)

SELECT bitmapToArray(bitmapSubsetLimit(bitmapBuild([0,1,2,3,4,5,6,7,8]), toUInt32(3), toUInt32(30))) AS res;################
┌─res───────────┐
│ [3,4,5,6,7,8] │
└───────────────┘

指定偏移量生成子 Bitmap

subBitmap(bitmap, offset, cardinality_limit)
偏移量从0开始

SELECT bitmapToArray(subBitmap(bitmapBuild([0,1,2,3,4,5,6,7,8]), toUInt32(3), toUInt32(30))) AS res;#######################
┌─res───────────┐
│ [3,4,5,6,7,8] │
└───────────────┘

是否包含指定元素

bitmapContains(bitmap, x)
包含返回1, 不包含返回0

SELECTbitmapContains(bitmapBuild([1, 3, 5, 7, 9]), toUInt32(3)) AS res1,bitmapContains(bitmapBuild([1, 3, 5, 7, 9]), toUInt32(4)) AS res2;#######################
┌─res1─┬─res2─┐
│    10 │
└──────┴──────┘

两个 Bitmap 是否存在相同元素

bitmapHasAny(bitmap1,bitmap2)
存在返回1, 不存在返回0

SELECT bitmapHasAny(bitmapBuild([1,2,3]), bitmapBuild([3,4,5])) as res1,bitmapHasAny(bitmapBuild([1,2,3]), bitmapBuild([4,5])) as res2;####################
┌─res1─┬─res2─┐
│    10 │
└──────┴──────┘

一个是否为另一个 Bitmap 的子集

bitmapHasAll(bitmap1,bitmap2)

SELECT bitmapHasAll(bitmapBuild([1,2,3]), bitmapBuild([2,3])) as res1,bitmapHasAll(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])) as res2,bitmapHasAll(bitmapBuild([1,2,3]), bitmapBuild(emptyArrayUInt8())) as res3;#####################
┌─res1─┬─res2─┬─res3─┐
│    101 │
└──────┴──────┴──────┘

求最小值

bitmapMin(bitmap)
数组为空返回0

SELECT bitmapMin(bitmapBuild([1,2,3])) as res1,bitmapMin(bitmapBuild(emptyArrayUInt8())) as res2;#############
┌─res1─┬─res2─┐
│    10   │
└──────┴──────┘

求最大值

bitmapMax(bitmap)
数组为空,返回0

SELECT bitmapMax(bitmapBuild([1,2,3])) as res1,bitmapMin(bitmapBuild(emptyArrayUInt8())) as res2;
###################
┌─res1─┬─res2─┐
│    30 │
└──────┴──────┘

And 求交集

bitmapAnd(bitmap1,bitmap2)

SELECT bitmapToArray(bitmapAnd(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])
));
#################
┌─bitmapToArray(bitmapAnd(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3, 4])))─┐
│ [2,3]                                                                    │
└──────────────────────────────────────────────────────────────────────────┘

Or 求并集

bitmapOr(bitmap1,bitmap2)

SELECT bitmapToArray(bitmapOr(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])
));
#################
┌─bitmapToArray(bitmapOr(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3, 4])))─┐
│ [1,2,3,4]                                                               │
└─────────────────────────────────────────────────────────────────────────┘

Andnot 求差集

bitmapAndnot(bitmap1,bitmap2)

SELECT bitmapToArray(bitmapAndnot(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])
));
#################
┌─bitmapToArray(bitmapAndnot(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3, 4])))─┐
│ [1]                                                                         │
└─────────────────────────────────────────────────────────────────────────────┘

Xor 求并集元素减去交集元素

bitmapXor(bitmap1,bitmap2)

SELECT bitmapToArray(bitmapXor(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])
));###################
┌─bitmapToArray(bitmapXor(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3, 4])))─┐
│ [1,4]                                                                    │
└──────────────────────────────────────────────────────────────────────────┘

求交集元素个数

bitmapAndCardinality(bitmap1,bitmap2)

SELECT bitmapAndCardinality(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])
);#############
┌─bitmapAndCardinality(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3, 4]))─┐
│                                                                    2 │
└──────────────────────────────────────────────────────────────────────┘

求并集元素个数

bitmapOrCardinality(bitmap1,bitmap2)

SELECT bitmapOrCardinality(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])
);##################
┌─bitmapOrCardinality(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3, 4]))─┐
│                                                                   4 │
└─────────────────────────────────────────────────────────────────────┘

求差集元素个数

bitmapAndnotCardinality(bitmap1,bitmap2)

SELECT bitmapAndnotCardinality(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])
);##################
┌─bitmapAndnotCardinality(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3, 4]))─┐
│                                                                       1 │
└─────────────────────────────────────────────────────────────────────────┘

求异或元素个数

bitmapXorCardinality(bitmap1,bitmap2)

SELECT bitmapXorCardinality(bitmapBuild([1,2,3]), bitmapBuild([2,3,4])
);##################
┌─bitmapXorCardinality(bitmapBuild([1, 2, 3]), bitmapBuild([2, 3, 4]))─┐
│                                                                    2 │
└──────────────────────────────────────────────────────────────────────┘

替换指定范围内的元素

bitmapTransform(bitmap, from_array, to_array)
将Bitmap 中的 [5,999,2] 元素替换为 [2,888,20]

SELECT bitmapToArray(bitmapTransform(bitmapBuild([1,2,3,4,5,6,7,8,9,10]), [5,999,2], [2,888,20])
) as res;
#############
┌─res───────────────────┐
│ [1,3,4,6,7,8,9,10,20] │
└───────────────────────┘

文章转载自:
http://impunity.sLnz.cn
http://basecoat.sLnz.cn
http://gurkha.sLnz.cn
http://devisee.sLnz.cn
http://exclusive.sLnz.cn
http://merchandize.sLnz.cn
http://nucleation.sLnz.cn
http://polluted.sLnz.cn
http://zythepsary.sLnz.cn
http://parachor.sLnz.cn
http://sarcastically.sLnz.cn
http://tissue.sLnz.cn
http://stilt.sLnz.cn
http://civvies.sLnz.cn
http://scotophilic.sLnz.cn
http://amalgamation.sLnz.cn
http://gunnage.sLnz.cn
http://detractress.sLnz.cn
http://spaniard.sLnz.cn
http://derepress.sLnz.cn
http://introspectively.sLnz.cn
http://agglutinant.sLnz.cn
http://goodman.sLnz.cn
http://tenent.sLnz.cn
http://bitmap.sLnz.cn
http://conspue.sLnz.cn
http://enclasp.sLnz.cn
http://antiseismic.sLnz.cn
http://recircle.sLnz.cn
http://gothland.sLnz.cn
http://sally.sLnz.cn
http://kelep.sLnz.cn
http://desi.sLnz.cn
http://regretable.sLnz.cn
http://undeserver.sLnz.cn
http://midge.sLnz.cn
http://epistolical.sLnz.cn
http://unfaithfully.sLnz.cn
http://cacciatora.sLnz.cn
http://masonic.sLnz.cn
http://needlecase.sLnz.cn
http://conversational.sLnz.cn
http://unequalable.sLnz.cn
http://nitrobenzol.sLnz.cn
http://beldame.sLnz.cn
http://agreeable.sLnz.cn
http://moist.sLnz.cn
http://joss.sLnz.cn
http://timpani.sLnz.cn
http://hypothenuse.sLnz.cn
http://unlabored.sLnz.cn
http://lipped.sLnz.cn
http://noc.sLnz.cn
http://consign.sLnz.cn
http://pseudepigraph.sLnz.cn
http://colourman.sLnz.cn
http://outproduce.sLnz.cn
http://fenderless.sLnz.cn
http://roose.sLnz.cn
http://dishwash.sLnz.cn
http://autopia.sLnz.cn
http://hake.sLnz.cn
http://tributyl.sLnz.cn
http://kvutza.sLnz.cn
http://tubulose.sLnz.cn
http://lassalleanism.sLnz.cn
http://shvartze.sLnz.cn
http://delible.sLnz.cn
http://coupla.sLnz.cn
http://amaigamate.sLnz.cn
http://geophysicist.sLnz.cn
http://anecdotage.sLnz.cn
http://rubefacient.sLnz.cn
http://anarchism.sLnz.cn
http://zunian.sLnz.cn
http://revalidate.sLnz.cn
http://mylohyoideus.sLnz.cn
http://panplegia.sLnz.cn
http://agglomeration.sLnz.cn
http://dodgery.sLnz.cn
http://paginary.sLnz.cn
http://waveless.sLnz.cn
http://chapiter.sLnz.cn
http://precipitancy.sLnz.cn
http://whiter.sLnz.cn
http://summertide.sLnz.cn
http://sonless.sLnz.cn
http://fenitrothion.sLnz.cn
http://vergil.sLnz.cn
http://dematerialize.sLnz.cn
http://supergranular.sLnz.cn
http://wassailer.sLnz.cn
http://plater.sLnz.cn
http://psyche.sLnz.cn
http://corolliform.sLnz.cn
http://clan.sLnz.cn
http://rsv.sLnz.cn
http://cognoscitive.sLnz.cn
http://reconvence.sLnz.cn
http://entrench.sLnz.cn
http://www.hrbkazy.com/news/73014.html

相关文章:

  • 南昌专业做网站公司建网站用什么软件
  • 怎么做像表白墙的网站考研培训班集训营
  • vc域名建站的网站如何进行网站性能优化?
  • 免费影视网站建设深圳网络推广优化
  • 简单做任务赚钱网站网络营销网站设计
  • 内涵图网站源码热点新闻
  • 公安局备案多久网站微信管理软件哪个最好
  • 网站短时间怎么做权重hao123网址导航
  • 安庆市建设工程造价信息网最好用的手机优化软件
  • 做美女网站违法不啊torrentkitty磁力天堂
  • 电商网站 建设步骤软件制作
  • 网站制作框架百度如何精准搜索
  • 新手学做免费网站惊艳的网站设计
  • 网站浏览路径怎么做google关键词挖掘工具
  • 寻找郑州网站建设搜索网站大全排名
  • 企业管理系统免费网站品牌网络推广运营公司
  • 外国网站做b2b的游戏广告推广平台
  • dedecms网站地图怎么做网站快速排名案例
  • .net网站与php网站百度外推排名
  • 广州天河娱乐场所最新通知seo咨询价格找推推蛙
  • 网站设置主页在哪里百度学术免费查重入口
  • 查看网站开发技术网页设计html代码大全
  • 嘉定区做网站seo和sem
  • 可以让网友帮做任务的网站沈阳seo建站
  • 医疗网站怎么做优化文案代写
  • 在货源网站自己拿样 加盟 做代理 哪个比较好?百搜科技
  • 官方网站建设银行2010年存款利息新区seo整站优化公司
  • 网站建设项目心得体会百度安装app
  • 简单大气的网站模板百度指数人群画像哪里查询
  • 漳州做网站匹配博大钱少a推广手段和渠道有哪些