Для таблицы, такие как это:Выберите отличие от нескольких столбцов одновременно, и держать один столбец в PostgreSQL
tblA
A,B,C
1,2,t3a
1,3,d4g
1,2,b5e
1,3,s6u
Я хочу, чтобы произвести таблицу, которая выбирает отличие от А и В одновременно, и по-прежнему держать одну значение С, например:
tblB
A,B,C
1,2,t3a
1,3,d4g
Похоже, это было бы просто, но не найти его для жизни меня.
DROP TABLE IF EXISTS tblA CASCADE;
SELECT DISTINCT ON (A,B), C
INTO tblB
FROM tblA;
Это сработало! За исключением одной небольшой проблемы - по какой-то причине столбец C теперь называется «max». Это супер странно ... Я могу, конечно, переименовать его, но есть ли способ предотвратить это? Кроме того - что, если я хочу сохранить несколько столбцов, а не только C, как если бы был столбец D, E, F, который я хотел сохранить? – nittyjee
Я не думаю, что есть способ предотвратить это поведение. Если вы не заботитесь о последнем значении, вы можете использовать 'max' или' min'. Если вы хотите сохранить определенные значения, вам может потребоваться более сложный запрос. –
Это очень странно, что он переименовал бы столбец. Кроме того, если мне нужно несколько столбцов, вы не можете использовать «max» и «min» более одного раза, так как вы можете указать имя столбца один раз. Если у вас есть другой параметр, который может добавить несколько столбцов и сохранить имена столбцов, вы можете добавить это к своему ответу? Это было бы здорово :) Спасибо за вашу помощь. – nittyjee