2009-04-16 2 views

답변

2
select distinct species.spID 
,species.common_name 
,count(specimen.spID) as number_collected 
from species 
,field_location 
,specimen 
where species.spID = specimen.spID 
and field_location.locID = specimen.locID 
and field_location.location_name = 'Karkato' 
order by number_collected desc 
limit 5 

이 .. MySQL 용

을 작동해야하지만 당신이 DBMS를 왼쪽으로 난 당신이 질문을하는 가정 할 것입니다 때문에 당신의 숙제 (돈 걱정하지 마라 99 % ~ 사람들이 SQL에서 처음 질문 할 때이 질문을 비참하게 여기지 마십시오. 101)

그리고 99 % 이상을 왜곡하고 싶지 않기 때문에 SQL에서 질문에 답하지 않을 것입니다. . 대신 나는 너에게 egg head cafe answer을 연결시킬 것이다. 이 사람은 비슷한 질문에 매우 잘 대답했습니다. 예를 들어 다시 작성해야하며 가격처럼 미리 계산 된 계산이 필요하지 않습니다.

0

나는 숫자를 수집하는 것이 일반 이름을 기반으로한다고 가정하고있었습니다. 하지만 그 표본 테이블에 조인 할 수도 있습니다. MYSQL에 대한

:

select a.spID, a.common_name, count(c.spID) as 'number_collected' 
from species a, field_location b, specimen c 
where a.spid = c.spid and b.locid = c.locid 
and b.location_name = 'Karkato' 
group by c.spID 
order by number_collected desc 
limit 0 , 5