Я новичок в SQL и у меня возникают проблемы при попытке сделать почасовой отчет для базы данных, поддерживающей Hive SQL.
Вот мой набор данных
|NAME| CHECKIN_HOUR |CHECKOUT_HOUR|
|----|--------------|-------------|
| A | 00 | 00 |
| B | 00 | 01 |
| C | 00 | 02 |
| D | 00 | null |
| E | 01 | 02 |
| F | 01 | null |
И я хотел бы получить ежечасный сводный отчет, который выглядит следующим образом:
|TIME| CHECKIN_NUMBER |CHECKOUT_NUMBER|STAY_NUMBER|
|----|----------------|---------------|-----------|
| 00 | 4 | 1 | 3 |
| 01 | 2 | 1 | 4 |
| 02 | 0 | 2 | 2 |
stay_number
означает подсчет числа людей, которые не зарегистрировались к концу этого часа, например, 2
в последнем ряду означает, что к концу 2 часа ночи два человека (D и F) еще не зарегистрировались. В общем, я пытаюсь получить сводный отчет о регистрации заезда и отъезда и отчет о пребывании за каждый час.
Я понятия не имею, как рассчитать таблицу часовых интервалов, поскольку простое группирование по часам check_in или check_out не дает ожидаемого результата. Все поля даты изначально имеют тип данных Unix timestamp, поэтому не стесняйтесь использовать для них функции даты.
Будем благодарны за любые инструкции и помощь, спасибо!