2013-12-09 202 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;