首页 > 解决方案 > 为什么我们在 SQL 的 CASE 语句子句中使用 MAX 聚合或聚合函数

问题描述

为什么我们将它们与列类型字符串一起使用?

像这样的代码:

SELECT 
    event_id, 
    event_time,  
    user_id, 
    platform,  
    MAX(CASE WHEN parameter_name = 'item_id'
                THEN CAST(parameter_value AS INT)
                ELSE NULL
        END)  AS item_id,
    MAX(CASE WHEN parameter_name = 'referrer'
                THEN parameter_value
                ELSE NULL
        END)  AS referrer
FROM 
    dsv1069.events
WHERE 
    event_name  = 'view_item'
GROUP BY 
    event_id, event_time, user_id, platform
ORDER BY 
    event_id

标签: sql

解决方案


Max, min 甚至适用于 String,我们用它来消除 NULL,因为聚合函数不考虑 NULL


推荐阅读