У меня есть таблица в базе данных PostgreSQL 10 .
В таблице приведены почасовые данные о скорости движения поездов на каждой станции метро городов Англии.
| STAMPER | STATION | CITY | SPEED |
|---------------------------------------------------------|
| 2018-10-01 00:00:00 | Arsenal | London | 1078.125 |
| 2018-10-01 01:00:00 | Arsenal | London | 1524.375 |
| 2018-10-01 02:00:00 | Arsenal | London | 1127.752 |
| 2018-10-01 00:00:00 | Beckton | London | 2866.375 |
| 2018-10-01 01:00:00 | Beckton | London | 877.222 |
| 2018-10-01 02:00:00 | Beckton | London | 1618.533 |
| 2018-10-01 00:00:00 | Chesham | Liverpool | 1567.588 |
| 2018-10-01 01:00:00 | Chesham | Liverpool | 792.333 |
| 2018-10-01 02:00:00 | Chesham | Liverpool | 1138.857 |
| 2018-10-01 00:00:00 | Farringdon | Liverpool | 1543.625 |
| 2018-10-01 01:00:00 | Farringdon | Liverpool | 538.666 |
| 2018-10-01 02:00:00 | Farringdon | Liverpool | 1587.583 |
Я пытаюсь получить агрегированные данные такого типа:
| STAMPER | CITY | AVG_SPEED | MAX_SPEED | MAX_SPEED_STATION |
|----------------------------------------------|-----------|-------------------|
| 2018-10-01 00:00:00 | London | XXX | 2866.375 | Beckton |
| 2018-10-01 01:00:00 | London | XXX | 1524.375 | Arsenal |
| 2018-10-01 02:00:00 | London | XXX | 1618.533 | Beckton |
| 2018-10-01 00:00:00 | Liverpool | XXX | 1567.588 | Chesham |
| 2018-10-01 01:00:00 | Liverpool | XXX | 792.333 | Chesham |
| 2018-10-01 02:00:00 | Liverpool | XXX | 1587.583 | Farringdon |
У меня проблема со столбцом MAX_SPEED_STATION
.Другими словами, мне нужно в результате увидеть, на какой станции города было максимальное значение скорости поезда в определенное время.
Мой точный оператор SQL:
SELECT
A."Stamper" AS DATE_TIME,
A."CITY" AS city,
AVG(A.speed) AS AVG_SPEED,
MAX(A.speed) AS MAX_SPEED,
MIN(A.speed) AS MIN_SPEED
FROM
table_name A
GROUP BY
A."Stamper",
A."CITY";