gpt4 book ai didi

mysql - 两个表之间的数据合并

转载 作者:行者123 更新时间:2023-11-30 00:35:09 24 4
gpt4 key购买 nike

我已经尝试破解这个难题几个小时了,但我无法弄清楚需要什么查询代码组合才能获得我正在寻找的确切结果。

我有两个表:

音乐和播放列表

音乐字段:

ID(主要)、轨道名称、文件路径、添加日期、艺术家、专辑

播放列表字段:

PID、ID(与音乐的多对一关系)、Number_of_Plays

我想要做的是,对于音乐中的每个 ID,合并所有播放列表中的所有记录,然后对 Number_of_Plays 字段求和

这是我所得到的:

Select Music.ID, Music.Track_Name, Playlists.PID From Music
Join Playlists On Music.ID = Playlists.ID
Where Playlists.ID In (
Select ID From Playlists
Group By ID
Having Count(Number_of_Plays) > 1)

它生成的唯一结果是一个按播放次数以上的记录 ID 排序的列表。我已经能够弄清楚问题后半部分的部分内容,其中所有播放列表中一首歌曲的播放次数相加在一起,但不知道如何不显示 Number_of_Plays 等于 1 的那些记录。这是我发现的查询后半部分所需内容:

select PID, ID, sum(Number_of_Plays) As Total from Playlists
group by PID, ID LEFT(`ID`,11)
order by PID

这会根据 ID 的值组合 Number_of_Plays 字段,但不会删除仅播放 1 次的记录。在过去的 45 分钟里,我一直在尝试以某种方式组合这两个查询,但除了语法错误消息之外什么也没得到。

最佳答案

我设法弄清楚了:

Select Music.ID, Music.track_name, Playlists.PI, sum(Playlists.Number_of_Plays) As Total_Plays From Music
Join Playlists On Music.ID = Playlists.ID
Group By Playlist.ID, LEFT('ID', 11) Having Count(Playlist.ID) > 1

这会生成一个结果集,其中记录按 ID 排序,并对播放次数进行求和。

关于mysql - 两个表之间的数据合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22240538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com