【发布时间】:2017-12-20 14:24:25
【问题描述】:
我有如下数据:
user_id month_id service
895 201612 S
262 201612 V
5300 201612 BB
现在可能会有用户在一年内使用过一项以上的服务,我希望有一个查询可以提供给我。比如 895 用了 S 3 个月,BB 用了 4 个月,那么他最近的服务是 V。所以:
user_id S BB V
895 3 4 5
我如何在 SQL 中执行此数据透视和计数,有人可以帮我吗?
【问题讨论】:
-
你的数据库是什么?不同的数据库有不同的语法。这也是 sql 主题中回答最多的问题之一。搜索数据透视表或将行转置为列
-
这是红移@JorgeCampos。是的,我知道这是一个常见的查询,但我找不到任何符合我要求的内容。
-
您不需要完全相同的数据或要求。这是关于查询的结构。会是一样的
-
S、BB 和 V 是唯一可能的服务吗?通常,pivot 要求您明确指出要旋转的列。
-
你好@justiceorjustus,可以有大约200个服务,对于用户没有使用的条目将为零。
标签: sql pivot data-munging