【发布时间】:2017-08-26 23:45:36
【问题描述】:
我想计算每个用户初始公司订阅的数量。
在下面的数据集中,我希望 user1 的计数为 3,而 user2 的计数为 0。因为 user2 订阅的两家公司之前都被 user1 订阅过。
id user companyId activity
-----------------------------------
1 1 101 subscribe
2 1 101 unsubscribe
3 1 102 subscribe
4 1 103 subscribe
5 2 102 unsubscribe
6 2 102 subscribe
7 2 103 unsubscribe
8 2 103 subscribe
这在 SQL 中是否可行,如果可以,我将如何处理?
欢迎对问题措辞进行任何改进,因为我一直在努力解释清楚。
【问题讨论】:
-
id代表时间顺序吗?
-
是的。 id 越低,创建的越早。
-
假设
id列是IDENTITY列,我不会依赖它代表插入时间。虽然不寻常,但在某些情况下,id 可能会被乱序分配。最好有一个日期时间字段... -
你好。同意。在这种情况下,这是有保证的,但如果需要,很容易将 id 字段换成日期时间。
标签: sql sql-server count