Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Подскажи по поводу ситуации с однофамильцами  [new]
Moneta13
Member

Откуда:
Сообщений: 57
Здравствуйте, подскажите пожалуйста, если я группирую по айди - PK, я избавляюсь от ситуации, что есть такой же человек в базе?

SELECT a.first_name AS name_of_actor,
a.last_name AS surname_of_actor,
COUNT(*) AS count_of_film
-- join tables to view all films where the actor played
FROM actor a
INNER JOIN film_actor fa ON fa.actor_id =a.actor_id
GROUP BY a.actor_id,a.first_name ,a.last_name -- group by name and surname
ORDER BY count_of_film DESC -- sort BY count_of_films in descending order
FETCH NEXT 3 ROW WITH TIES;
9 апр 21, 20:44    [22306756]     Ответить | Цитировать Сообщить модератору
 Re: Подскажи по поводу ситуации с однофамильцами  [new]
grgdvo
Member

Откуда:
Сообщений: 126
Moneta13,

Группировать по "айди", который PK, все равно, что не группировать :)
Так вы ничего не добьетесь.
10 апр 21, 09:02    [22306890]     Ответить | Цитировать Сообщить модератору
 Re: Подскажи по поводу ситуации с однофамильцами  [new]
Moneta13
Member

Откуда:
Сообщений: 57
grgdvo, Ну он же уникален, и вроде как я групирую по уникальному значению в таком случае
10 апр 21, 11:00    [22306912]     Ответить | Цитировать Сообщить модератору
 Re: Подскажи по поводу ситуации с однофамильцами  [new]
Moneta13
Member

Откуда:
Сообщений: 57
Наверное я не так выразился, он является первичным в таблице, актеров, и если соеденять с другими таблица, то, чтобы посчитать количество фильмов, в котрых он сыграл, групировка по айди актера соблюдет уникальность подсчета, даже если есть два человека с одинаковым именем и фамилией?
10 апр 21, 12:35    [22306936]     Ответить | Цитировать Сообщить модератору
 Re: Подскажи по поводу ситуации с однофамильцами  [new]
grgdvo
Member

Откуда:
Сообщений: 126
Moneta13,

Если в связке с другими таблицами, то да, группировка по ID учтет уникальность актеров даже если они полные однофамильцы.
И в таком случае "айди" нужно внести под SELECT в соответствии с правилами группировки.
11 апр 21, 05:42    [22307169]     Ответить | Цитировать Сообщить модератору
 Re: Подскажи по поводу ситуации с однофамильцами  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 120
по ID и надо
это гораздо быстрее и надёжнее
а если делать уник ФИО, то
CREATE UNIQUE INDEX ON tbl (name3, name1)

но неизбежны коллизии, т.к. все 3 иногда совпадают
а ещё бывает, что нет отчества/фамилии

Сообщение было отредактировано: 11 апр 21, 15:13
11 апр 21, 15:17    [22307246]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить