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

如何编写MySQL查询语句筛选出歌曲数少于9首的专辑内所有曲目

可选查询语句

写法1:IN子查询(写法简单易读,适合中小数据量场景)

SELECT * FROM track
WHERE albumName IN (
    SELECT albumName
    FROM track
    GROUP BY albumName
    HAVING COUNT(id) < 9
);

写法2:JOIN关联查询(性能更优,适合大数据量场景)

SELECT t1.*
FROM track t1
INNER JOIN (
    SELECT albumName
    FROM track
    GROUP BY albumName
    HAVING COUNT(id) < 9
) t2 ON t1.albumName = t2.albumName;

注意事项

  • 上述语句默认以albumName作为专辑的唯一标识,如果你数据表中存在独立的专辑ID字段,优先替换为ID做关联,避免出现不同专辑同名的统计错误
  • 如果需要排除albumName为NULL的无专辑曲目,可以在子查询的GROUP BY前添加条件 WHERE albumName IS NOT NULL
  • 统计曲目数使用COUNT(id)而非COUNT(*),可以避免ID为空的无效记录干扰统计结果

内容的提问来源于stack exchange,提问作者Julian Gimenez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:36:03