2013-12-09 163 views
0

我制定了以下查询:HAVING,JOINS,GROUP BY MySQL

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

我以为我可以通过使用具有select语句分组并以下列方式为内连接:

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

MySQL查询引擎抛出我的错误:未知列“tr.tracknum”在'有条款'中。有没有办法可以修改我的查询来产生结果?

回答

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中的列。

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