-
求oracle分组 剔重求和的sql3
表结构如下:
table_name log
userid(number) 用户id
channel_id(varchar) 渠道id
mobile_type(varchar) 手机型号
is_new(number) 1代表新增用户 2 老用户
time(date) 时间格式2009-09-29 13:23:20
这个表是个日志表,想按照时间yyyy-mm-dd、渠道、机型分组 求出当日独立用户数、当日渠道、手机型号的增量用户、及pv
下面是几条数据
time userid channel_id mobile_type is_new
2009-09-29 13:23:20 1 tjdc 2700 1
2009-09-29 14:53:26 1 tjdc 2700 2
2009-09-29 17:03:24 2 sydc 5220 2
2009-09-29 18:43:25 3 whdc N95 1
想求出如下的结果
time channel_id mobile_type 独立用户数 增量用户 pv
2009-09-29 tjdc 2700 1 1 2
2009-09-29 sydc 5220 1 0 1
2009-09-29 whdc N95 1 1 1
这个sql怎么写,求指点,谢谢。
问题补充:
前两位的答案不对,第一位说我的思维不对,我认可,针对上述的原始数据 我想要一下结果,
time channel_id mobile_type 独立用户数 增量用户 pv
2009-09-29 tjdc 2700 1 1 2
2009-09-29 sydc 5220 1 0 1
2009-09-29 whdc N95 1 1 1
我描述的语言可能不恰当,见谅2009年10月16日 09:38
3个答案 按时间排序 按投票排序
-
select l.time,l.channel_id,l.mobile_type,count(distinct l.userid) 独立用户数,sum(case when l.is_new = 2 then 1 else 0 end) 增量用户 from LOG l where l.is_new = 1 group by l.time,l.channel_id,l.mobile_type
2009年10月17日 00:10
-
select l.time,l.channel_id,l.mobile_type,count(l.userid) 独立用户数,count(l.is_new) 增量用户 from LOG l where l.is_new = 1 group by l.time,l.channel_id,l.mobile_type
2009年10月16日 13:35
-
select l.time,l.channel_id,l.mobile_type,count(l.userid) 独立用户数,count(l.is_new) 增量用户 from LOG l group by l.time,l.channel_id,l.mobile_type
2009年10月16日 11:20
相关推荐
Oracle 常用 SQL 语句大全 本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 ...
11. 分析函数(ANALYTICAL FUNCTIONS)是Oracle SQL的高级特性之一,允许在数据集上进行窗口计算,例如累计求和、移动平均等,非常适合处理时序数据。 12. ROWID的使用涉及Oracle中的行标识符,可以用来快速访问表...
Oracle SQL语法速查指南 Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,其SQL(结构化查询语言)语法是管理和操作Oracle数据库的核心。本速查涵盖了Oracle SQL中的关键知识点,包括函数、语句、安装与...
通过熟练运用这些语句,可以实现复杂的数据分析和管理任务,无论是简单地获取数据,还是进行聚合计算,甚至是高级的多表连接和分组分析,Oracle SQL都能提供强大支持。在实际工作中,根据需求灵活组合使用这些语句,...
本篇文章将深入探讨Oracle中的基本函数以及常用SQL查询,以帮助初学者快速入门,并为日常使用提供参考。 一、Oracle基本函数 1. **字符串函数**: - `CONCAT()`:连接两个或多个字符串。 - `SUBSTR()`:从字符串...
**SQL(Oracle)教程概述** SQL,全称Structured Query Language,即结构化查询语言,是用于管理和处理关系数据库的标准编程语言。Oracle SQL是Oracle数据库系统所使用的特定版本,它提供了更高级的功能,如PL/SQL...
从给定的Oracle SQL面试题中,我们可以提炼出多个关键知识点,这些知识点涵盖了SQL查询、数据操作、表结构设计以及Oracle数据库的一些高级特性。以下是对这些知识点的详细解析: ### 1. 数据分组与聚合函数 在第一...
本资料将重点介绍Oracle SQL语句和语法,适合初学者入门学习。 1. **SQL基础** - **SELECT语句**:用于从数据库中检索数据,是最常用的SQL语句。可以指定列名、表名、条件等,例如`SELECT column1, column2 FROM ...
Oracle12c完全参考手册是数据库管理员和开发者的重要资源,其中包含了全面的SQL脚本集合。这个手册旨在帮助用户深入理解和充分利用Oracle12c数据库系统的功能。SQL(结构化查询语言)是管理关系数据库的标准语言,它...
本文档是针对Oracle Database 11g的SQL基础培训教材,由OCP官方发布,详细介绍了在该数据库版本中使用SQL语言的基础知识和应用。 首先,文档强调了Oracle Database 11g的数据库管理系统(RDBMS)的基础知识,包括...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其SQL(结构化查询语言)在数据管理、分析和应用开发中扮演着核心角色。本篇将基于"Oracle常用SQL语句复习"这一主题,深入探讨Oracle SQL的基本语法和常用...
Oracle SQL函数和语法是数据库管理中的核心组成部分,尤其对于初学者而言,理解并掌握这些概念至关重要。本资源包包含了丰富的Oracle SQL相关知识,包括基本的SQL语句、函数以及一些实用案例,旨在帮助Oracle基础较...
Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,其强大的SQL支持是其核心竞争力的重要组成部分。本文将深入探讨Oracle内置的SQL函数,这些函数极大地丰富了数据查询、处理和分析的能力。 一、数学函数 ...
### Oracle中SQL语句行列之间的相互转换 在Oracle数据库中,有时我们需要将表格中的行转换为列或将列转换为行,这种操作被称为行列转换。这种转换对于数据分析、报表制作等场景非常有用。本文将详细介绍Oracle中...
Oracle SQL是用于管理和操作Oracle数据库的强大语言,它用于查询、更新、插入和删除数据,以及创建和修改数据库对象。以下是对Oracle SQL语法的详细讲解: 一、基础概念 Oracle SQL基于标准的SQL,但增加了许多自己...
- **求和**:Oracle 和 SQL Server 都使用 `SUM`。 - **标准差和方差**:Oracle 使用 `STDDEV` 和 `VARIANCE`,SQL Server 提供 `STDEV` 和 `VAR`。 这些是 Oracle 和 SQL Server 语法之间的一些基本区别,了解...
### Oracle交叉表SQL知识点解析 #### 一、交叉表(Pivot Table)概念与应用场景 在数据分析领域,交叉表(Pivot Table)是一种常见的数据整理技术,它将原始数据按照特定维度进行重组,使得数据从行式存储变为列式...
在SQL中,分组和聚合操作是数据分析和报表制作中常用的功能。本文将详细解析标题和描述中提及的“分组后分组合计以及总计”的概念,并通过示例来阐述如何实现这些操作。 1. **分组后分组合计** - 当我们需要对数据...
### Oracle字段去重详解 #### 一、Oracle字段去重概念与应用场景 在数据库操作过程中,数据表中可能会出现重复的数据记录,这不仅浪费存储空间,还可能导致数据分析时出现错误的结果。因此,去除重复记录是数据库...