通过MySQL进行,加入,分组

时间:2013-12-09 00:56:49

标签: mysql

我制定了以下查询:

如何收集包含至少九个曲目的所有标题的名称。

我认为我可以通过以下方式使用具有and group by和inner join的select语句:

select ti.title from titles ti
inner join tracks tr on (ti.titleid = tr.titleid)
where tr.tracknum having count >=9;

MySQL查询引擎给我一个错误:'having子句'中的未知列'tr.tracknum'。有没有办法可以修改我的查询以产生结果?

2 个答案:

答案 0 :(得分:3)

select ti.title from titles ti
inner join tracks tr on (ti.titleid = tr.titleid) 
GROUP BY title 
having count(title) >=9;

HAVING指的是GROUP BY中的列。

答案 1 :(得分:2)

select ti.title 
from titles ti
inner join tracks tr on ti.titleid = tr.titleid
group by ti.title
having count(*) >=9;