2017-02-09 1 views
-1

직원 ID, 이름 날짜, 시간 및 반복 직원 수를 나타내는 테이블이 있습니다. 아래 내 SQL 코드입니다. 이제 count 값의 합을 얻고 싶지만 sum (count (*)) 값처럼 사용할 수없는 것처럼 보입니다. 하위 쿼리를 사용해야하지만 여전히 작동하게 만드는 방법은 없습니다. 어떤 사람이 이것을 해결하는 방법을 알고 있습니까?sql 카운트 값을 합산하는 방법

select distinct a.employee_id,b.name,a.type,a.date,a.time,count(*) 
from deal_records a, staff_table b 
where a.employee_id = b.employee_id && a.date='2016-12-23' && b.name like "L%" 
group by a.employee_id ; 
+1

질문을 수정하고 샘플 데이터와 원하는 결과를 제공하십시오. –

+2

첫 번째 MySQL 버전이 시작되기 전에도 중복 된 조인 구문을 사용하고 있습니다. 대신 명시 적 ANSI 조인을 사용하십시오. 당신의 질문에 관해서는 : 그것은 틀리게 본다. '타입'과 '시간'은 무엇을 포함해야 하는가? 아마도'employee_id'와'date' 당 하나 이상의'deal_record'가있을 것입니다 (그렇지 않으면 당신은 계산할 필요가 없을 것입니다). 그래서 어느 레코드가 값을 얻을 DBMS입니까? 임의로 값을 선택합니다. 부가 적으로'DISTINCT'는 불필요합니다. 왜냐하면 모든 컬럼별로 그룹화 되었기 때문에 (당신의 경우에는'employee_id'만이) select 절에 있기 때문입니다. –

답변

2

group by을 제거 하시겠습니까?

select count(*) 
from deal_records d join 
    staff_table s 
    on d.employee_id = s.employee_id 
where d.date = '2016-12-23' and 
     s.name like 'L%'; 
+0

단일 테이블에 대한 조건은 WHERE 절에 있어야합니다. 'ON'은 테이블과 관련된 조건에 합류해야합니다. MySQL은 두 가지 형식 모두를 허용하지만. – Barmar

+0

@Barmar. . . 나는 당신이 나를 위해 downvote하지 않을 것이라고 확신합니다. 나는 미학적으로 동의하지 않지만, '내부 조인'의 경우 'on'과 'where'는 동등합니다. –

+0

나는 다른 사람이 대답을 위해 – Barmar

관련 문제