oracle sql求每月最小时间对应的值 不使用嵌套语句

本文介绍了如何在Oracle SQL中,不使用嵌套语句,而是通过分析函数first_value和row_number结合来获取每年每月的最小日期所对应的number_s值。示例中创建了一个包含2020年每天数据的表,并展示了使用分析函数的方法来解决这个问题。
摘要由CSDN通过智能技术生成

   在工作中,经常需要得到每年,每月的最小时间对应的值。不想用嵌套,只用一个sql语句如何时间?

来看个例子

步骤一 建一个2020年每天时间的表,每天有个对应的Number_s随机数

   要求每个月最小时间对应的number_s是多少,怎么求呢

create table PROCEDRE_TABLE

(

  year_ch    VARCHAR2(11), --年份

  month_ch   VARCHAR2(11), --月份

  price_date DATE,         --日期

  number_s   NUMBER        --数字

);

查看表里面的数据,2020年每天对应的随机数number_s

 

步骤二 求2020年每个月的最小时间对应的的值

方法一:使用嵌套方法,只能得到求2020年1月10日的值,也就是一个月的值,无法得到所求。

    SELECT * FROM PROCEDRE_TABLE WHERE daily = (SELECT MIN(daily) FROM PROCEDRE_TABLE)

 

方法二 用分析函数 first_val

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值