как получить разницу между двумя данными датами в SQL - PullRequest
0 голосов
/ 22 ноября 2018

Как найти самый длинный идентификатор бронирования для указанных двух дат и самый дорогой идентификатор бронирования для указанной стоимости.

Здесь мы имеем разницу в 13 дней, поэтому мы получаем самый длинный идентификатор бронирования как 1.

каков подход к архивированию с использованием SQL-запроса.

enter image description here

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018
with data
  as (select *
            ,row_number() over(order by datediff(dd,end_date,start_date) desc) as rnk_time
            ,row_number() over(order by tarrif desc) as rnk_cost
            ,count(*) over(partition by 1) as tot_cnt
        from your_table
     )
select 'Total Booking count',tot_cnt
 from data 
where rnk_time=1
union all
select 'Longest Booking id',booking_id
 from data 
where rnk_time=1
union all
select 'Costliest Booking id',booking_id
 from data 
where rnk_cost=1
0 голосов
/ 22 ноября 2018

это будет работать:

(SELECT 'Total Booking Count' AS Label, COUNT(*) AS Value FROM bookings)
UNION ALL
(SELECT 'Longest Booking Id', booking_id FROM bookings ORDER BY DATEDIFF(enddate, startdate) DESC LIMIT 1)
UNION ALL
(SELECT 'Costliest Booking Id', booking_id FROM bookings ORDER BY (tariff*DATEDIFF(enddate, startdate)) DESC LIMIT 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...