【发布时间】:2021-02-09 05:58:18
【问题描述】:
我想实现这个。
- 上周非转换用户的唯一用户总数(用户 ID 模式末尾不包含 3 位数字)
- 上周转换用户的唯一用户总数(用户 ID 模式末尾包含 3 位数字)
CREATE TABLE [dbo].[Table1]
(
[ID] [bigint] NOT NULL,
[Date] [datetime] NOT NULL,
[userID] [nvarchar](64) NULL,
CONSTRAINT [PK_Table1] PRIMARY KEY NONCLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
select 'Total Number of Transition Users' Name, convert(varchar(20), count(DISTINCT userID)) 'Number'
from.[dbo].Table1 where userID = (SELECT RIGHT(userID, 3))
AND Date>= DATEADD(day,-7, GETDATE())
UNION
select 'Total Number of Non- Transition Users' Name, convert(varchar(20), count( DISTINCT userid)) 'Number'
from [dbo].Table1 where userID <> (SELECT RIGHT(userID, 3))
AND Date>= DATEADD(day,-7, GETDATE())
【问题讨论】:
标签: sql sql-server string datetime count