DAY3

本文分享了作者阅读《实用Python编程》一书的心得体会。该书适合编程新手,语言通俗易懂,即使从未接触过编程也能轻松理解。此外,文章还提到了作者接下来打算学习廖雪峰的相关教程。

看了Paul gries and others-practical programming-python 3

非常通俗易懂的一本书,虽然从没接触过编程但阅读起来并不吃劲

继续看廖雪峰
在 Oracle 中,将横表(宽表)转换为纵表(长表)通常使用 `UNPIVOT` 函数来实现。你提供的 SQL 查询是从表 `company_days` 中选出 `DAY1` 到 `DAY7` 的字段,现在我们将其转换为按天分列的纵表形式。 --- ### ✅ 使用 `UNPIVOT` 实现横表转纵表 ```sql SELECT * FROM ( SELECT company_name, day1, day2, day3, day4, day5, day6, day7 FROM company_days ) UNPIVOT ( amount FOR day IN (day1 AS 'DAY1', day2 AS 'DAY2', day3 AS 'DAY3', day4 AS 'DAY4', day5 AS 'DAY5', day6 AS 'DAY6', day7 AS 'DAY7') ); ``` --- ### 输出结果说明: | COMPANY_NAME | DAY | AMOUNT | |--------------|------|--------| | 公司A | DAY1 | 100 | | 公司A | DAY2 | 200 | | ... | ... | ... | - `amount`:表示具体数值。 - `day`:表示原始字段名(如 DAY1、DAY2 等)。 - `company_name`:公司名称字段(如果你的表中没有这个字段,请去掉) --- ### 如果你的 Oracle 版本不支持 `UNPIVOT`(如 10g 或更早版本),可以使用 `UNION ALL` 实现: ```sql SELECT company_name, 'DAY1' AS day, day1 AS amount FROM company_days UNION ALL SELECT company_name, 'DAY2', day2 FROM company_days UNION ALL SELECT company_name, 'DAY3', day3 FROM company_days UNION ALL SELECT company_name, 'DAY4', day4 FROM company_days UNION ALL SELECT company_name, 'DAY5', day5 FROM company_days UNION ALL SELECT company_name, 'DAY6', day6 FROM company_days UNION ALL SELECT company_name, 'DAY7', day7 FROM company_days; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值