У меня есть следующие необработанные данные, сохраненные в БД
id min_price, max_price, min_x, max_x, user_id
-------------------------------------------
1 50 200 5 null 1
2 0 100 0 3 1
3 150 300 0 null 1
4 20 200 2 5 2
5 50 200 0 5 2
6 150 200 1 3 2
Я хочу создать sql-запрос (postgres) со следующими данными:
min_price, max_price, min_x, max_x, user_id
0 300 0 null 1
20 200 0 5 2
так что в основном я бы получил минимальное и максимальное значения для каждого user_id для разностных полей, где ноль должен иметь приоритет над фактическим максимальным значением, есть идеи о том, как добиться этого с помощью sql?
1 + 2 + 3 + NULL
равноNULL
, аsum()
набора строк, содержащих одинаковые значения, равно6
. - person Craig Ringer   schedule 30.01.2014