отдельное ключевое слово только для одного столбца - PullRequest
2 голосов
/ 16 июня 2011

Я использую postgresql в качестве базы данных, я застрял в получении желаемых результатов с помощью запроса,

то, что у меня в таблице, выглядит примерно так:

nid    date_start    date_end

1      20            25
1      20            25
2      23            26
2      23            26 

то, что я хочу, это следовать

nid    date_start    date_end

1      20            25  
2      23            26

, для этого я использовал SELECT DISTINCT nid,date_start,date_end from table_1, но это результат дублирующихся записей, как я могу получить разные nid с соответствующими date_start и date_end?Кто-нибудь может мне помочь с этим?

Большое спасибо!

Ответы [ 4 ]

2 голосов
/ 16 июня 2011

Исходя из ваших примеров данных и примеров вывода, ваш запрос должен работать нормально.Я предполагаю, что ваш пример ввода / вывода не точен.

Если вы хотите получить различные значения определенного столбца, а также значения из других соответствующих столбцов, то вам нужно определить значение WHICH из соответствующих столбцовдля отображения (ваш вопрос и запрос в противном случае не имеют смысла).Для этого вам нужно использовать агрегаты и группировать по.Например:

SELECT
   nid,
   MAX(date_start),
   MAX(date_end) 
FROM
   table_1
GROUP BY
   nid
1 голос
/ 16 июня 2011

Попробуйте различить по:

выберите отличное по (col1) col1, col2 из таблицы;

1 голос
/ 16 июня 2011

Этот запрос должен работать, если вы не выбираете больше столбцов.Или, может быть, вы получаете тот же NID с другой датой начала и / или окончания

0 голосов
/ 16 июня 2011

DISTINCT не может привести к дублированию записей - вот что он делает ... удалил дубликаты.

Ваши опубликованные данные неверны?Каковы ваши данные и вывод?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...