You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写嵌套查询:找出播放量最高的前10张专辑

找出播放量最高的前10张专辑(简单嵌套查询版)

嘿,我来帮你把这个嵌套查询补全,而且尽量写得简单易懂,不用纠结性能优化哈!先理清楚咱们的表结构:

  • Album表:存储专辑信息,字段有 GRid(专辑唯一标识)、Title(专辑名称)
  • AlbumTrack表:关联专辑和曲目,字段有 GRid(对应专辑的GRid)、ISRC(对应曲目的唯一标识)
  • Track表:存储曲目播放数据,字段有 ISRC(曲目唯一标识)、PlayCount(该曲目的播放量)

咱们的目标是找出播放量最高的前10张专辑,用嵌套查询的话,可以这么写:

SELECT TOP 10 Album.Title
FROM Album
WHERE Album.GRid IN (
    -- 这一层用来筛选出总播放量前10的专辑GRid
    SELECT AlbumTrack.GRid
    FROM AlbumTrack
    GROUP BY AlbumTrack.GRid
    ORDER BY SUM(
        -- 最内层嵌套:获取当前ISRC对应的播放量
        (SELECT Track.PlayCount FROM Track WHERE Track.ISRC = AlbumTrack.ISRC)
    ) DESC
    TOP 10
)

查询逻辑解释

  1. 最内层子查询:针对AlbumTrack里的每一条曲目关联记录,找到它在Track表中对应的播放量
  2. 中间层子查询:把同一个专辑(同一个GRid)下所有曲目的播放量加起来,然后按总播放量从高到低排序,取前10个专辑的GRid
  3. 最外层查询:根据这些筛选出来的GRid,从Album表中取出对应的专辑标题

这样写虽然因为嵌套子查询的原因效率不算最高,但逻辑非常直观,容易理解~

内容的提问来源于stack exchange,提问作者Sarah Painter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:24:40