找出最高效的作曲者
来个有意思的!您正和同事聊天,决定找出哪位艺人把歌曲的「每秒价格」定得最高(按平均值计算)。为此,您将使用 tracks 表和一个公共表表达式(Common Table Expression,CTE)。
本练习是课程的一部分
Snowflake 中的数据操作
练习说明
- 创建一个名为
track_metrics的公共表表达式(CTE),提取composer、秒数以及unit_price。 - 定义
track_metrics时,只保留composer非空的记录。 - 查询
track_metricsCTE,使用公式unit_price / num_seconds计算每位composer的「每秒价格」的平均值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- Create a CTE called track_metrics, convert milliseconds to seconds
___ ___ ___ (
SELECT
composer,
milliseconds / 1000 AS num_seconds,
unit_price
FROM store.track
-- Retrieve records where composer is not NULL
___
)
SELECT
composer,
-- Find the average price-per-second
___ AS cost_per_second
___
GROUP BY composer
ORDER BY cost_per_second DESC;