mysql - 在 hive/mysql 中实现 sum_reverse() [Explode table result]

标签 mysql sql hive hiveql explode

我们希望平均分配数量。 Table Sales 如下所示

product category qty
123     A        3
345     B        2

输出

product category qty
123     A        1
123     A        1
123     A        1
345     B        1
345     B        1

最佳答案

hive

select  t.product
       ,t.category
       ,1           as qty

from    mytable t
        lateral view explode(split(space(t.qty - 1),' ')) e
;

+---------+----------+-----+
| product | category | qty |
+---------+----------+-----+
| 123     | A        | 1   |
+---------+----------+-----+
| 123     | A        | 1   |
+---------+----------+-----+
| 123     | A        | 1   |
+---------+----------+-----+
| 345     | B        | 1   |
+---------+----------+-----+
| 345     | B        | 1   |
+---------+----------+-----+

关于mysql - 在 hive/mysql 中实现 sum_reverse() [Explode table result],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45399667/

相关文章:

php - 简单但繁重的应用程序消耗大量资源。如何优化?

MySQL - 替换列中的字符

hadoop - 尝试更改配置单元中的列类型,运行 DDL,但抛出错误“

php - 如何在 PHP 和 Mysqli 中插入日期

mysql - 使用带有 angular-cli 的 Sequelize 时找不到模块错误

php - get_results ("select * from table_name where id IN($array)")但它假设 $array 为 "Array"

sql - 如何使用 Insert .. select,以及来自 insert 的条件变量

hadoop - Hive 外部表

hadoop - org.apache.hadoop.security.AccessControlException:权限被拒绝

php - 自定义排序和值