2012-05-03 45 views
3

我有一个使用MySQL后端的小型赛车项目。我试图找到一个很好的查询,以获取在两场比赛中排名前三的所有车手的详细信息。这里有一个小桌子故障:用于查找出现多次值的SQL查询

Drivers table: 
driver_id, driver_name, driver_age, etc misc details 

Entry table: 
entry_id, driver_id, placed 

所以,通常这不会是一个巨大的问题,因为我可以做一个JOIN on driver_id然后用WHERE on my 'placed'列瘦下去的结果;然而,客户绝对必须有不止一次进入前三的球员。我只是在事情的脚本方面处理它,但他们用来提取数据的应用程序非常奇怪。

谢谢!

回答

3
select * 
from `Entry table` 
where placed <= 3 
group by driver_id 
having count(*) > 1 

或这样的事情...我知道你正在寻找一个计数声明

+1

having子句这个工作完美,与加入它正是我需要的结合。我试过数(*),但我不知道我必须组队。谢谢! –