sql - 为什么我们在 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
解决方案
Max, min 甚至适用于 String,我们用它来消除 NULL,因为聚合函数不考虑 NULL
推荐阅读
- java - 将json转换为字符串列表java play框架时出错
- c#-2.0 - “如何将元素添加到列表中”
- java - 如何将百里香片段作为参数传递给另一个片段?
- java - ColorHttpMessageConverter 但缺少 Color 的默认构造函数
- javascript - 为什么 parentCampaignId 不在 onClick 方法的范围内?
- cron - 如何修复cronjob不在vestacp上运行执行bash
- react-native - 如何将道具发送到自定义 TabBar?
- vue.js - 我应该将“链接”放在 .vue 文件中的什么位置?
- css - 什么是抵消
- Edge 浏览器中的标签,这不是 chrome
- php - 从字符串中提取大写单词