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

ppt网站链接怎么做百度的推广方式有哪些

ppt网站链接怎么做,百度的推广方式有哪些,动态网站与静态网站的区别,phpcms和帝国cms哪个好在 ClickHouse 中,可以通过 ​ARRAY JOIN 结合 ​Map 类型的内置函数,将 Map 字段的键值对展开为多行数据。以下是具体操作方法和示例: 一、使用 mapKeys 和 mapValues 展开 Map 1. 核心语法 SELECT id, key, value FROM your_table ARRAY …

在 ClickHouse 中,可以通过 ​ARRAY JOIN 结合 ​Map 类型的内置函数,将 Map 字段的键值对展开为多行数据。以下是具体操作方法和示例:


一、使用 mapKeys 和 mapValues 展开 Map

1. 核心语法
SELECT id, key, value
FROM your_table
ARRAY JOIN mapKeys(your_map_column) AS key,mapValues(your_map_column) AS value
mapKeys(map):提取 Map 的所有键,返回一个 Array(KeyType)。​mapValues(map):提取 Map 的所有值,返回一个 Array(ValueType)。​ARRAY JOIN:将两个数组按顺序展开为多行,键和值一一对应。
2. 示例

假设表结构如下:

CREATE TABLE user_tags (user_id Int32,tags Map(String, String)
) ENGINE = MergeTree()
ORDER BY user_id;-- 插入数据INSERT INTO user_tags VALUES 
(1, {'gender': 'male', 'country': 'US'}),
(2, {'age': '25', 'os': 'iOS'});-- 展开查询:SELECT user_id, key, value
FROM user_tags
ARRAY JOIN mapKeys(tags) AS key,mapValues(tags) AS value

输出:

┌─user_id─┬─key─────┬─value─┐
│       1 │ gender  │ male  │
│       1 │ country │ US    │
│       2 │ age     │ 25    │
│       2 │ os      │ iOS   │
└─────────┴─────────┴───────┘

二、直接使用 .Keys 和 .Values 语法(ClickHouse 22.6+ 支持)

从 ClickHouse 22.6 开始,可以直接通过 Map.Keys 和 Map.Values 访问键值数组:

SELECT user_id, key, value
FROM user_tags
ARRAY JOIN tags.Keys AS key,tags.Values AS value

三、使用 mapEntries 展开为键值对元组

1. 核心语法
SELECT id, entry.1 AS key,  -- 元组第一个元素为键entry.2 AS value  -- 元组第二个元素为值
FROM your_table
ARRAY JOIN mapEntries(your_map_column) AS entry-- ​mapEntries(map):将 Map 转换为 Array(Tuple(KeyType, ValueType))。
2. 示例
SELECT user_id, entry.1 AS key,entry.2 AS value
FROM user_tags
ARRAY JOIN mapEntries(tags) AS entry

四、过滤特定键值对

在展开后,可通过 WHERE 子句筛选特定键或值:

SELECT user_id, key, value
FROM user_tags
ARRAY JOIN mapKeys(tags) AS key, mapValues(tags) AS value
WHERE key = 'os'

输出:

┌─user_id─┬─key─┬─value─┐
│       2 │ os  │ iOS   │
└─────────┴─────┴───────┘

五、性能优化建议

  1. 避免展开大 Map
    Map 展开后行数会爆炸式增长(如 10,000 个键值对 → 10,000 行),建议在 WHERE 条件中提前过滤。

  2. 预聚合高频键值
    将常用键单独存为列,避免每次查询展开:

ALTER TABLE user_tags
ADD COLUMN os String MATERIALIZED tags['os'];

六、总结

通过 ARRAY JOIN 结合以下方法展开 Map:

方法适用场景
mapKeys + mapValues兼容所有 ClickHouse 版本
.Keys + .ValuesClickHouse 22.6+ 版本更简洁写法
mapEntries直接展开为元组,适合键值对联合操作
http://www.dtcms.com/wzjs/397683.html

相关文章:

  • 纸箱 东莞网站建设超八成搜索网站存在信息泄露问题
  • 网站设计是什么专业百度关键词搜索引擎
  • 找人做网站源代码会给你吗培训学校加盟费用
  • 杭州网站建设关键词优化精灵
  • 数据做图网站有哪些内容谷歌浏览器官网下载安装
  • 网站怎么做支付seo搜索引擎优化知乎
  • 济南企业建站哪家做的好济南专业seo推广公司
  • 迁安网站开发广告代运营公司
  • 自己做一元夺宝网站网络营销渠道的特点
  • 防伪网站怎么做网站推广优化的公司
  • 设计与绘制一个网站首页北京债务优化公司
  • 网站制作教学关键词密度查询站长工具
  • 电子商务网站域名注册方法国内搜索引擎优化的公司
  • 佛山网站建设公司电话推广软文发稿
  • 建网站跟建网店的区别今日头条新闻最新
  • 昭通市公安局网站是谁做的百度扫一扫识别图片
  • 桂林旅游网站制作搜索引擎关键词广告
  • 网站建设规划书的目的重庆seo服务
  • 企业网站备案需要什么资料seo推广公司有哪些
  • 企业管理培训课程定制北京seo人员
  • react做的电商网站能上线吗搜索引擎营销经典案例
  • 百度云注册域名可以做网站明码windows优化软件
  • 微网站 布局北京官方seo搜索引擎优化推荐
  • 网站运营面试问题百度端口开户推广
  • 德州网站设计2345网址大全
  • 在网站上有中英切换怎么做北京网络推广公司排行
  • 珲春网站建设国家税务总局网
  • 网站开发中所需要的绘图工具免费浏览外国网站的软件
  • 360上做网站网络广告创意
  • 用安卓做网站凤凰网台湾资讯