代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
MSSQL
】
SQL SERVER 查询每日新增用户数量、次留数量
作者:
/ 发布于
2019/1/24
/
1685
创建用户新增表和登录日志表: --用户新增表 create table new_user (id int identity(1,1), uid varchar(20), regist_time datetime) insert into new_user(uid,regist_time) values ('18-1104','2018-03-05 03:46:53'), ('18-1105','2018-03-11 09:46:53'), ('18-1106','2018-03-18 09:22:53') --登录日志表 create table login_log (id int identity(1,1), uid varchar(20), update_time datetime) insert into login_log(uid,update_time) values ('18-1101','2018-03-05 09:46:53'), ('18-1101','2018-03-06 09:46:53'), ('18-1101','2018-03-06 09:56:53'), ('18-1102','2018-03-15 09:56:53'), ('18-1102','2018-03-16 09:56:53'), ('18-1103','2018-03-19 09:56:53') 查询用户每日新增数量、次留数量(新增的用户在第二天登录的用户数量) select 日期 ,sum(新增) as 新增 ,sum(次留) as 次留 from (select convert(varchar(20),regist_time,111) as 日期 ,count(uid) as 新增 ,0 as 次留 from new_user group by convert(varchar(20),regist_time,111) union all select convert(varchar(20),a.regist_time,111) as 日期 ,0 as 新增 ,count(distinct case when convert(varchar(20),b.update_time,111) = convert(varchar(20),dateadd(day,1,a.regist_time),111) then a.uid else NULL end) as 次留 from new_user a inner join login_log b on a.uid = b.uid group by convert(varchar(20),a.regist_time,111)) as x group by 日期;
试试其它关键字
同语言下
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
可能有用的
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3