每个用户的SQL增量id\u id

每个用户的SQL增量id\u id,sql,postgresql,Sql,Postgresql,我有以下数据: user_id user_login_date 1 2013.07.05 1 2013.07.15 1 2013.07.16 1 2013.07.17 2 2013.07.05 2 2013.07.05 2 2013.07.15 我想制作一个虚拟表,看起来像这样: user_id user_login_date date_id 1 2013.07.05

我有以下数据:

user_id  user_login_date
1        2013.07.05 
1        2013.07.15
1        2013.07.16
1        2013.07.17
2        2013.07.05
2        2013.07.05
2        2013.07.15
我想制作一个虚拟表,看起来像这样:

user_id  user_login_date date_id
1        2013.07.05      1
1        2013.07.15      2
1        2013.07.16      3
1        2013.07.17      4
2        2013.07.05      1
2        2013.07.05      2
2        2013.07.15      3
我该怎么做? 我试过:

但结果并不是我想要的

select  row_number() over (partition by user_id order by user_login_date) as date_id
,       yt.*
from    YourTable yt
select  row_number() over (partition by user_id order by user_login_date) as date_id
,       yt.*
from    YourTable yt
select
    user_id, user_login_date,
    row_number() over(
        partition by user_id
        order by user_login_date
    ) as date_id
from users
order by user_id, date_id