oracle sql语句锦集

列出两个月份之间所有的月份

在这里插入代码片SELECT
  TO_CHAR( ADD_MONTHS( TO_DATE( '201804', 'yyyyMM' ), ROWNUM - 1 ), 'yyyyMM' ) AS monthlist 
 FROM
  DUAL CONNECT BY ROWNUM <= months_between(
   to_date( '201809', 'yyyyMM' ),
  to_date( '201801', 'yyyyMM' ))+1

在这里插入图片描述

//查询出数据没有的话就补0

在这里插入代码片select  a.monthlist,nvl(b.ENTRY_COUNT,0) as AAA from
(SELECT
  TO_CHAR( ADD_MONTHS( TO_DATE( '201904', 'yyyyMM' ), ROWNUM - 1 ), 'yyyyMM' ) AS monthlist 
 FROM
  DUAL CONNECT BY ROWNUM <= months_between(
   to_date( '201912', 'yyyyMM' ),
   to_date( '201904', 'yyyyMM' ))+1) a  
LEFT JOIN (SELECT
 TIME,
 SUM (ENTRY_COUNT) ENTRY_COUNT
FROM
 (
  SELECT
   A . TIME,
   SUM (A .ENTRY_COUNT) ENTRY_COUNT
  FROM
   EXP_HOT_STATISTICS A
  WHERE
   1 = 1
  AND "SUBSTR" (A . TIME, 0, 6) BETWEEN '201903'
  AND '201912'
  AND (
	 KEY_WORD_TYPE LIKE '%奶粉%'
  )
  AND A .KEY_WORD_STATUS = '1'
  GROUP BY
   A . TIME
  ORDER BY
   ENTRY_COUNT DESC
 )
GROUP BY
 TIME
ORDER BY
 TIME ASC) b
on a.MONTHLIST =b.TIME
ORDER BY MONTHLIST

在这里插入图片描述

//列转行并且时间按从小打到排序

SELECT
	listagg (TIME, ',') WITHIN GROUP (ORDER BY TIME ASC) TIME,
	listagg (ENTRY_COUNT, ',') WITHIN GROUP (ORDER BY TIME ASC) ENTRY_COUNT_NUMBER,
	KEY_WORD_TYPE
FROM
	(
		SELECT
			A . TIME AS TIME,
			A .KEY_WORD_TYPE,
			'' || SUM (A .ENTRY_COUNT) ENTRY_COUNT
		FROM
			EXP_HOT_STATISTICS A
		WHERE
			1 = 1
		AND "SUBSTR" (A . TIME, 0, 6) BETWEEN '201902'
		AND '201911'
		AND (
			KEY_WORD_TYPE LIKE '%奶粉%'
			OR KEY_WORD_TYPE LIKE '%运动鞋%'
		)
		AND A .KEY_WORD_STATUS = '1'
		GROUP BY
			A .KEY_WORD_TYPE,
			A . TIME
	)
GROUP BY
	KEY_WORD_TYPE

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle SQL语句是用于在Oracle数据库中进行数据操作和查询的命令集合。它使用结构化查询语言(SQL)作为与数据库进行交互的方式。 Oracle SQL语句可以分为数据操作语言(DML)和数据定义语言(DDL)两种类型。 在DML中,常见的操作包括插入(INSERT)、更新(UPDATE)、删除(DELETE)和查询(SELECT)。通过INSERT语句,可以将新的数据行插入到表中;通过UPDATE语句,可以对现有数据进行修改;通过DELETE语句,可以从表中删除数据行;通过SELECT语句,可以查询符合条件的数据行。DML语句通常用于对表中的数据进行增删改查操作。 而DDL语句主要用于对数据库对象进行定义和操作,常见的操作包括创建表(CREATE TABLE)、修改表(ALTER TABLE)和删除表(DROP TABLE)。通过CREATE TABLE语句,可以创建新的表并定义表的结构和约束;通过ALTER TABLE语句,可以修改表的结构;通过DROP TABLE语句,可以删除表及其数据。DDL语句通常用于对数据库对象进行管理和维护操作。 除了DML和DDL语句,Oracle SQL还提供了其他的语句类型,如控制语句(例如,IF-THEN-ELSE语句)、事务控制语句(例如,COMMIT和ROLLBACK语句)以及数据查询语句中的聚合函数(例如,SUM和COUNT函数)等。 通过编写和执行Oracle SQL语句,我们可以实现对Oracle数据库中的数据进行增删改查操作,同时还可以对数据库对象进行定义和管理。掌握Oracle SQL语句的使用,可以帮助我们高效地进行数据库操作和管理,从而提高数据处理和查询的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值