繁体   English   中英

更改列值取决于出现次数

[英]Change the column value depends on occurrence count

有表:

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

因此,我们可以拥有一本只有一种或多种类型的书。 从这张表我想得到这张表

NAME   GENRE
book1  genre1
book2  genre2
book3  mixed_genres
book4  genre1

所以在新表中,如果书只有一种流派,我们保留这个流派,如果书有很多流派,我们通过“mixed_genres”改变流派值

有没有办法做到这一点? 非常感谢您的任何建议!

您可以使用聚合:

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM