2012-06-08 4 views
1

내 표는 다음과 같습니다 :이 쿼리를 시도Shift 키를 기준으로 금액을 계산하기위한 Sql 쿼리?

shiftno  sno  Amount 
    100   7  20 
       8  50 
    101   9  10 
      10  30 
      11  20 

select SUM(Amount) 
from example 
where shiftNo = (select (max(shiftNo)) from example 

이 결과 = 10 만, 실제 결과는 보여줍니다 10 + 30 +했다 = 60 (20)가 shiftno에 속하는 = 101

총 60 개의 결과는 어떻게 얻을 수 있습니까?

+1

을 ?? – praveen

+1

제공된 예제 데이터가 10 인 경우 올바른 결과가 나타납니다. sno 10과 sno 11에 대해 shift를 입력했거나 의도적으로 비워 두었습니까? –

+0

sno 란 무엇입니까? 중간 행에서 shiftNo가 실제로 비어 있습니까? –

답변

4

최고를 원하는 경우 shiftNolimit 1을 사용하십시오.
모든 shiftNoamount는 다음 limit 라인두고 싶은 경우 : 두 SQL 서버와 MySQL을 태그 한

select shiftNo, SUM(Amount) as MaxAmount 
from exmple 
group by shiftNo 
order by shiftNo desc 
limit 1 
+0

@ Filburt : 네 말이 맞아. 가장 높은'amount '가 아닌 가장 높은'shiftNo'를 출력하도록 수정했습니다. –

관련 문제