我是数据库新手。我正在使用 mysqlite3 组织音乐。我的 Music
表中有 ArtistName
、SongTitle
和 AlbumTitle
字段。数据库的主要目的是查询并返回所有歌曲少于 3 首的艺术家。
为了实现这一目标,我认为我需要某种“歌曲计数”条目,每次添加同一艺术家的歌曲时该条目都会增加。但是,我不确定如何创建动态条目。我知道 AUTO_INCRMENT 关键字,它具有我正在寻找的动态属性,但不具有条件递增。
想法?
最佳答案
除非我在您的请求中遗漏了某些内容,否则您不需要 songCount
列,否则您可以使用以下查询轻松获取歌曲少于 3 首的艺术家:
select artistname
from music
group by artistname
having count(SongTitle) <3
这将为歌曲总数少于三首的每位艺术家返回艺术家名称
。
然后,如果您想对此进行扩展,可以使用以下代码,它将返回 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/