Не удается получить уникальные значения с помощью запроса postgres - PullRequest
0 голосов
/ 05 января 2011

У меня есть sql-запрос postgre следующим образом

SELECT cNo,max(numLogs),name,surname FROM details GROUP BY cNo,name,surname

, и если я его запущу, мои результаты не группируются cNo, есть ли способ получить cNo уникальным / сгруппированным.

Я получаю результаты, аналогичные следующим

cNo         numLogs     name        surname
23          43          asfas       safdasd
23          45          dsfds       fdsfsdfsd
23          43          dsfsd       dsfsdfsd

, и я хочу что-то вроде

cNo         numLogs     name        surname
23          45          asfas       safdasd

1 Ответ

4 голосов
/ 05 января 2011

Если вы только хотите уникальные cNo и вам не важно, какое имя / фамилию вы используете, вы можете использовать в этих полях другую статистическую функцию.

SELECT cNo
    ,max(numLogs)
    ,max(name)
    ,max(surname)
-- min would also work.
FROM details 
GROUP BY cNo

В противном случае вы тянете каждую уникальную комбинацию cNo, name и surname.

Если вам нужно получить определенное имя или фамилию (которые не будут обрабатываться min, max или любой из агрегатных функций PostGreSQL), тогда вы захотите отфильтровать результаты, а не выбирать все из таблицы.

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