Я работаю над базой данных PostgreSQL, которая выглядит следующим образом:
+--------------+---------------+---------------+---------------+
| avg_speed_p0 | avg_speed_p25 | avg_speed_p50 | avg_speed_p75 |
+--------------+---------------+---------------+---------------+
1 | 85.15 | 87.23 | 84.16 | 85.44 |
2 | 78.63 | 82.76 | 78.01 | 83.15 |
+--------------+---------------+---------------+---------------+
Где я вычислил среднюю скорость днем (1) и ночью (2) из большого количества автомобилей в пунктах с 25-метровым расстоянием между ними.
Я сделал таблицу, используя:
create table avg_speeds as
select * from avg_speed_day
union
select * from avg_speed_night
Я попытался сделать первичный ключ как day
и night
с помощью:
alter table avg_speed_day add column time varchar
, а затем:
insert into avg_speed_day (time) values ('day')
но это не работает, а только дает мне:
+--------------+---------------+---------------+---------------+--------+
| avg_speed_p0 | avg_speed_p25 | avg_speed_p50 | avg_speed_p75 | time |
+--------------+---------------+---------------+---------------+--------+
1 | 85.15 | 87.23 | 84.16 | 85.44 | [null] |
2 | [null] | [null] | [null] | [null] | day |
+--------------+---------------+---------------+---------------+--------+
Я хотел бы получить таблицу, в которой вычисляется разница между днем (1) и ночью (2), и отображается только один раз, когда разница больше 5.
Как это:
+---------------+----------------+
| diff_speed_p0 | diff_speed_p50 |
+---------------+----------------+
1 | 6.52 | 6.15 |
+---------------+----------------+