首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法从下面获取最大(Reservation_date)的最后日期query.Also查询需要很长时间

我无法从下面获取最大(Reservation_date)的最后日期query.Also查询需要很长时间
EN

Stack Overflow用户
提问于 2019-11-20 17:33:03
回答 1查看 30关注 0票数 0

我下面的查询花费了很长时间。我不知道我在哪里输出预订的到达日期(“it‘s wrong.Desire Resort_name in Resource_name last_date”)

代码语言:javascript
复制
    SELECT
    max(rsv.reservation_date),
    r.name    AS resort_name,
    rsv.name   AS resource_name,
    rsv.reservation_date,
    rv.arrival_date
FROM
    resorti18n           r
    JOIN resourcebasei18n     re ON ( r.resort_id = re.resort_id )
    JOIN reservedresourcebase rsv ON (rsv.resource_id=re.resource_id)
    JOIN reservation          rv ON ( rv.resort_id = re.resort_id )
    JOIN admin_organisation   ao ON ( ao.admin_organisation_id = r.admin_organisation_id )

WHERE
    rsv.type = 'producttype'
    group by 
    r.name,
    rsv.name,
    rsv.reservation_date,
    rv.arrival_date;
EN

回答 1

Stack Overflow用户

发布于 2019-11-20 17:36:23

使用row_number()

代码语言:javascript
复制
 with cte as(SELECT
    rsv.reservation_date,
    row_number() over(partition by  r.name,rsv.name order by rsv.reservation_date desc) rn,
    r.name    AS resort_name,
    rsv.name   AS resource_name,
    rsv.reservation_date,
    rv.arrival_date
FROM
    resorti18n           r
    JOIN resourcebasei18n     re ON ( r.resort_id = re.resort_id )
    JOIN reservedresourcebase rsv ON (rsv.resource_id=re.resource_id)
    JOIN reservation          rv ON ( rv.resort_id = re.resort_id )
    JOIN admin_organisation   ao ON ( ao.admin_organisation_id = r.admin_organisation_id )

WHERE
    rsv.type = 'producttype'
 ) select * from cte where rn=1

Usign子查询

代码语言:javascript
复制
select * from (SELECT
        row_number() over(partition by  r.name,rsv.name order by rsv.reservation_date desc) rn,
        r.name    AS resort_name,
        rsv.name   AS resource_name,
        rsv.reservation_date,
        rv.arrival_date
    FROM
        resorti18n           r
        JOIN resourcebasei18n     re ON ( r.resort_id = re.resort_id )
        JOIN reservedresourcebase rsv ON (rsv.resource_id=re.resource_id)
        JOIN reservation          rv ON ( rv.resort_id = re.resort_id )
        JOIN admin_organisation   ao ON ( ao.admin_organisation_id = r.admin_organisation_id )

    WHERE
        rsv.type = 'producttype'
     ) a where a.rn=1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58950985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档