如何在 SQL 中使用联合创建分类变量?

Posted

技术标签:

【中文标题】如何在 SQL 中使用联合创建分类变量?【英文标题】:How to create a categorical variable using union in SQL? 【发布时间】:2021-01-09 22:04:07 【问题描述】:

如果我有类似...的数据

user_id user_revenue 
10000   100
10001   150
10002   175
10003   200
10004   250
10005   300
10006   400
10007   500
10007   550  

我正在尝试使用 union 将数据转换为这个:

user_id   user_revenue
10000      Low
10001      Low
10002      Low
10003      Medium
10004      Medium
10005      Medium
10006      High
10007      High
10007      High

“高”是指收入至少为 400,“中等”小于 400 但大于 175,那么“低”是指收入最多为 175。

【问题讨论】:

提示:CASE 表达式。 【参考方案1】:
SELECT user_id,
CASE
    WHEN t.user_revenue > 400 THEN 'High'
    WHEN t.user_revenue > 175 THEN 'Medium'
    ELSE 'Low'
END AS user_revenue
FROM [Table] t;

【讨论】:

【参考方案2】:

这是user_revenue 上的简单CASE声明

【讨论】:

以上是关于如何在 SQL 中使用联合创建分类变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Databricks 中的 SQL 语句输出创建变量

如何将 JAVa中的 String类变量嵌入SQL查询语句中...?

SQL注入之union联合注入

创建不同长度的分类变量的汇总表

如何折叠类别或重新分类变量?

SQL Server 如何创建视图