select order_id, str_to_map(concat_ws(',',collect_set(concat(order_status,'=',operate_time))), ',' , '=') from ods_order_status_log where dt='2020-06-14' group by order_id;
时间: 2023-12-04 11:05:07 浏览: 137
如何修改Mysql中group_concat的长度限制
这是一个 SQL 查询语句,用于在名为 ods_order_status_log 的数据表中,查询日期为 2020 年 6 月 14 日的订单状态信息,并按订单 ID 进行分组。查询结果包含两列,第一列为订单 ID,第二列为一个 Map 类型的数据,其中键表示订单状态,值表示订单状态对应的操作时间。具体实现是将 order_status 和 operate_time 两列的值通过逗号拼接成一个字符串,再通过 str_to_map 函数将其转化为一个 Map 类型的数据。最后使用 collect_set 函数对每个订单 ID 对应的字符串进行去重和集合化操作。
阅读全文