配置单元/sql:计算每个用户\u id获得多少uid

配置单元/sql:计算每个用户\u id获得多少uid,sql,hive,hiveql,Sql,Hive,Hiveql,有一张像这样的桌子: +-----------+---------+------------+ | uid | user_id | month | +-----------+---------+------------+ | d23fsdfsa | 101 | 2017-01-02 | | 43gdasc | 102 | 2017-05-06 | | b65hrfd | 101 | 2017-08-11 | | 1wseda |

有一张像这样的桌子:

+-----------+---------+------------+
|    uid    | user_id |   month    |
+-----------+---------+------------+
| d23fsdfsa |     101 | 2017-01-02 |
| 43gdasc   |     102 | 2017-05-06 |
| b65hrfd   |     101 | 2017-08-11 |
| 1wseda    |     103 | 2017-09-13 |
| vdfhryd   |     101 | 2017-08-06 |
| b6thd3d   |     105 | 2017-05-03 |
| ve32h65   |     102 | 2017-01-02 |
| 43gdasc   |     102 | 2017-09-06 |
+-----------+---------+------------+
如果用户id出现在同一个月,那么如何计算每个用户id的数量

最后一个表应该如下所示:因为“101”在同一个月有两个uid,所以它只计算一个uid

+---------+-----------+
| user_id | count_num |
+---------+-----------+
|     101 |         2 |
|     102 |         3 |
|     103 |         1 |
|     105 |         1 |
+---------+-----------+

如果我理解正确,您需要每个用户的不同月份数。如果是:

select user_id, count(distinct trunc(month, 'MONTH')) as count_num
from t
group by user_id;