MIN MAX查询

bimini07

我需要获取数量的最小和最大日期,但是我需要基于数量而不是全部相同数量的数量进行分组。

基本上,我有每日交易量和这些每日交易量的日期。我需要能够获得一组卷的MIN Date为“ to”和MAX date为“ from”。

请注意,该卷可以遍历日期,然后中断,然后为同一卷设置一组新的日期。

希望下面的屏幕截图能更好地解释我。我知道如何通过代码来执行此操作。但是我想知道SQL是否也可以做到这一点。

请注意,SQL将在应用程序内调用,我无法插入到临时表中以获取最终结果数据集...

这是我使用select *查询的原始数据:

[原始数据]

这是我最终想要的:

[我要寻找的最终结果]

我正在运行的查询为我提供了1100卷所有出现的最小值和最大值。我希望它根据日期之间的间隔进行拆分,如最终结果屏幕截图所示。

这是我的SQL:

SELECT daily_volume, MIN(volume_date) AS min_date, MAX(volume_date) AS max_date, ins_num 
FROM daily_volume 
WHERE ins_num = 3854439 
GROUP BY daily_volume, ins_num
阿杜奇

以下内容是为sql服务器编写的,但它应适用于其他数据库(sqlfiddle):

with DatesMinMax as
(
    select 
        volume_date, 
        daily_volume, 
        isnull 
        (
            (
            select top 1 d2.volume_date
            from daily_volume  d2
            where d.volume_date > d2.volume_date and d.daily_volume <> d2.daily_volume
            order by d2.volume_date desc
            )
            , '1753-01-01'
        ) as min_date,
        isnull 
        (
            (
            select top 1 d2.volume_date
            from daily_volume  d2
            where d.volume_date < d2.volume_date and d.daily_volume <> d2.daily_volume
            order by d2.volume_date 
            )
            , '9999-12-31'
        )  as max_date
    from daily_volume  d
),
DatesFromTo as 
(
    select d1.daily_volume as qty, 
        (select min(d2.volume_date) 
         from DatesMinMax d2 
         where d2.volume_date > d1.min_date and d2.volume_date < d1.max_date
        ) as [from],
        (select max(d2.volume_date) 
         from DatesMinMax d2 
         where d2.volume_date > d1.min_date and d2.volume_date < d1.max_date
        ) as [to]
    from DatesMinMax d1
)
select distinct
    qty,
    [from],
    [to]
from DatesFromTo
order by [from]

DatesMinMax 用于获取第一个日期与当前音量不同的日期

DatesFromTo 用于获取每一行的日期范围

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

优化 MIN & MAX 查询

来自分类Dev

MySQL:SUM / MAX / MIN GROUP BY查询优化

来自分类Dev

SPARQL查询。可选子查询和HAVING MIN MAX值

来自分类Dev

在 MySQL 中对 DISTINCT 查询使用 MIN MAX 查询?

来自分类Dev

优化子查询的使用以获得MIN和MAX

来自分类Dev

在一个查询中返回MAX()和MIN()

来自分类Dev

在PostgreSQL中使用MIN,MAX(SUM / COUNT)子查询

来自分类Dev

如何在Django中查询max到min?

来自分类Dev

在一个查询中返回MAX()和MIN()

来自分类Dev

在一个查询中检索MIN和MAX日期

来自分类Dev

MySQL SQL min()和max()查询数组回显零

来自分类Dev

从所有结果中查询MAX和MIN值

来自分类Dev

从MIN到MAX排序

来自分类Dev

iOS Swift max(),min()

来自分类Dev

Python max()与min()

来自分类Dev

Excel formula - min, max

来自分类Dev

Java Min Max方法

来自分类Dev

max() 和 min() 蟒蛇

来自分类Dev

VLOOKUP 结合 MIN 或 MAX

来自分类Dev

min-width 媒体查询总是触发而 max-width 查询从不触发

来自分类Dev

Max-Min 和 Min-Min 算法实现

来自分类Dev

Cypher:如何在同一查询中执行COUNT和MAX / MIN(相同的聚合)

来自分类Dev

将所有列保留在MIN / MAX查询中,但返回1个结果

来自分类Dev

在一个查询中从DBIx :: Class :: ResultSetColumn获取SQL MIN()和MAX()

来自分类Dev

SQL查询中的问题。适用于MAX,但不适用于MIN

来自分类Dev

如何在Laravel Eloquent中使用MIN和MAX SQL查询

来自分类Dev

带有 Amazon Aurora DB 的 Spring Data JPA 中的 MIN / MAX 函数(每组最大查询)

来自分类Dev

如何在 Symfony4 中对 Max 和 Min 进行搜索查询?

来自分类Dev

MYSQL的MAX MIN日期范围

Related 相关文章

热门标签

归档