我知道这个问题以前一定是被问过的,但是当我环顾四周时,我无法找到它。基本上我有一个第1列和第2列的表,我想知道如何构建该表的第3列:
user date number
---------------------------
1 2017-08-22 1
1 2017-08-22 1
1 2017-09-12 2
1 2017-09-12 2
1 2017-10-15 3
2 2017-05-23 1
2 2017-07-24 2
有人有个主意吗?
答案 0 :(得分:1)
除了Rownumber shenanigans之外的一个子查询可能会做到这一点:
SELECT
et.user,
et.date,
(SELECT COUNT(DISTINCT date) FROM exampleTable WHERE user = et.user AND date <= et.date) AS number
FROM exampleTable AS et
ORDER BY user ASC;
这可以使number
使不同日期的出现量低于或等于当前日期。
详细分类:
您可以在线试用here