Изменение значения столбца зависит от количества вхождений - PullRequest
0 голосов
/ 20 января 2019

Есть таблица:

NAME   GENRE
book1  genre1
book2  genre2
book3  genre1
book3  genre2
book4  genre1
etc

Итак, у нас может быть книга только с одним или со многими жанрами.Из этой таблицы я хотел бы получить эту таблицу

NAME   GENRE
book1  genre1
book2  genre2
book3  mixed_genres
book4  genre1

Итак, в новой таблице , если книга имеет только один жанр, мы сохраняем этот жанр, если в книге много жанров, мы меняем значение жанра.by «mixed_genres» .

Есть ли способ сделать это?Большое спасибо за любые советы!

1 Ответ

0 голосов
/ 20 января 2019

Вы можете использовать агрегацию:

select book,
       (case when min(genre) = max(genre) then max(genre)
             else 'mixed genres'
        end) as genre
from t
group by book;

Вы также можете перечислить все жанры:

select book, group_concat(genre) as genre
from t
group by book;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...