我是数据库新手。我正在使用mysqlite3组织音乐。我在ArtistName表中具有SongTitleAlbumTitleMusic字段。数据库的主要目的是查询数据库并返回所有歌曲少于3首的艺术家。

为了实现这一点,我认为我需要某种“歌曲计数”条目,每当我添加同一位艺术家的歌曲时,该条目就会增加。但是,我不确定如何创建动态条目。我知道AUTO_INCREMENT关键字,它具有我要寻找的动态属性,但没有条件增量。

有什么想法吗?

最佳答案

除非我在您的请求中缺少某些内容,否则您不需要songCount列,您可以使用以下查询轻松获取歌曲少于3首的歌手:

select artistname
from music
group by artistname
having count(SongTitle) <3


对于每首歌曲总数少于三首的歌手,这将返回artistname

然后,如果您想对此进行扩展,则可以使用以下代码,该代码将返回music表中艺术家少于3首歌曲的所有列:

select m1.*
from music m1
where exists (select artistname
              from music m2
              where m1.artistname = m2.artistname
              group by artistname
              having count(SongTitle) <3)

关于mysql - 构建计数相似条目的数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15347882/

10-11 01:57