`

按年或月份Group by的语句怎样写?

 
阅读更多
这个问题我也碰到了,花了一个上午查了一些资料,终于摸索解决啦。

    解决这个问题主要用到了一个函数:extract。其主要的语法如下:

   EXTRACT (component_name, FROM {datetime | interval})

Datetime component names for use with EXTRACT

Component name: Return datatype
---------------------------------------------------
YEAR: NUMBER

MONTH: NUMBER

DAY: NUMBER

HOUR: NUMBER

MINUTE: NUMBER

SECOND: NUMBER

TIMEZONE_HOUR: NUMBER

TIMEZONE_MINUTE: NUMBER

TIMEZONE_REGION: VARCHAR2

TIMEZONE_ABBR: VARCHAR2

---------------------------------------------------------------


    基于此,再结合group by 语句,可以实现数据按年月日分组汇总,例句如下:

    select extract(year from tdate), extract(month from tdate), extract(day from tdate), count(*) from t_t group by extract(year from tdate), extract(month from tdate), extract(day from tdate);
分享到:
评论

相关推荐

    SQL语句技巧:按月统计数据

    SQL语句技巧:按月统计数据 在本文中,我们将探讨如何使用 SQL 语句来统计每个月的数据量。我们将使用一个示例表来演示如何使用 SQL 语句来实现这...最后,我们使用 `GROUP BY` 语句来将结果按照年份和月份进行分组。

    T-SQL高级查询

    cube要结合group by语句完成分组汇总 Ø 排序函数 排序在很多地方需要用到,需要对查询结果进行排序并且给出序号。比如: 1、 对某张表进行排序,序号需要递增不重复的 2、 对学生的成绩进行排序,得出...

    mysql只返回时间的时分秒,并且根据小时分组

    下面用group by分组如果遇到这个错误: this is incompatible with sql_mode=only_full_group_by 那么在此执行这两句 select @@global.sql_mode; set sql_mode = (SELECT REPLACE(@@sql_mode, ‘ONLY_FULL_GROUP_BY...

    SQL面试宝典2010版

    这条语句使用子查询来获取所有分数小于或等于 80 的学生姓名,然后使用 NOT IN 语句来排除这些学生,最后获取到每门课都大于 80 分的学生姓名。 2. 删除冗余信息 在这个问题中,我们需要删除除了自动编号不同,...

    应用SQL语言进行数据查询与统计.pdf

    使用GROUP BY子句可以将表按列的值分组,列的值相同的分在一组。例如,按费别、身份统计4月份门诊收费的数据,可以使用以下SQL语句: ``` SELECT charg-type, identity, SUM(total-costs), SUM(total-charges) FROM ...

    oracle数据库经典题目

    5.Where子句可以接收From子句输出的数据,而HAVING子句则可以接收来自WHERE、FROM或GROUP BY子句的输入。 6.在SQL语句中,用于向表中插入数据的语句是Insert。 7.如果需要向表中插入一批已经存在的数据,可以在...

    SQL语法大全

    Recordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下: ----------------------------------------------------...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...

    SQL语言与excel。VBA结和

    sql = "select 区域,存货类, sum(代销仓入库数量),sum(代销仓出库数量),sum(日报数量)from [sheet4$a:i] where 区域='" & [b3] & "' and month(日期)='" & Month(Range("F3")) & "' group by 区域,存货类" ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由匹配查找。 内容简介  《Java开发...

    C#编程经验技巧宝典

    14 <br>0028 “///”符号的使用技巧 14 <br>0029 使用注释取消程序语句的执行 15 <br>2.2 语句 15 <br>0030 跳转语句GOTO的使用 15 <br>0031 Continue语句的使用 16 <br>0032 Break...

    Oracle_Database_11g完全参考手册.part3/3

    12.1 groupby和having的用法 12.1.1 添加一个orderby 12.1.2 执行顺序 12.2 分组视图 12.3 用别名重命名列 12.4 分组视图的功能 12.4.3 对列和分组函数进行排序 12.4.4 连接列 12.5 更多分组可能性 第13章 当一个...

    Oracle_Database_11g完全参考手册.part2/3

    12.1 groupby和having的用法 12.1.1 添加一个orderby 12.1.2 执行顺序 12.2 分组视图 12.3 用别名重命名列 12.4 分组视图的功能 12.4.3 对列和分组函数进行排序 12.4.4 连接列 12.5 更多分组可能性 第13章 当一个...

    MYSQL,SQLSERVER,ORACLE常用的函数

    增加或减去月份 SQL> select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual; TO_CHA ------ 200002 SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from...

    oracle函数大全.doc

    增加或减去月份 SQL> select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual; TO_CHA ------ 200002 SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;...

    Oracle9i的init.ora参数中文说明

    说明: 指定数据库的默认语言, 该语言将用于消息, 日期和月份名, AD, BC, AM 和 PM 的符号, 以及默认的排序机制。可支持的语言包括英语, 法语和日语等等。 值范围: 任何有效的语言名。 默认值: 根据操作系统而定 ...

Global site tag (gtag.js) - Google Analytics