안녕하세요
MES 비슷한 프로젝트을 하고 있는데요..
제가 기능 구현 하고자 하는건 가동률 알고자 하는건대요
가령 A 라는 직원이 AA 기계을 한달 동안 몇 %으로 돌렸는지 알고자 합니다
30일에 15일 돌렸다면 50% 10일 돌렸다면 35%으로 보여 주고자하는데요
디비상에서
ID ITEM STARTDATE ENDDATE
A AA 2013.05.15 2014.05.15
B AB 2012.02.15 2014.02.15
A AA 2014.02.15 2014.05.15
이런식으로 저장 되어 있습니다
근대 사용자가 어느 기계을 사용했는지 알고자 합니다
A AA 2013.05 50%
A AA 2013.06 100%
이런식으로 뽑을수 있는지
어찌해야 하는건지 도와 주세요 .....
오늘도 즐건 하루 되세요~
Comment 6
-
Hisory
2014.05.07 14:23
-
밥먹는푸우
2014.05.07 16:49
답변 감사드립니다
History님 알려 주는대로 잘되는데요
저는 한 행 데이터 가지고 각 월별 통계 내야 하는 경우입니다
한행 데이터로 각 월별 요율 구할수는 없나요?
-
Hisory
2014.05.07 17:02
한행데이터로 월별 통계 내야하는 경우라는 것이 어떤경우인지 잘 이해가 되지 않네여..
만약 특정 사람의 특정 월을 기준으로 한다면 where 조건을 준뒤에 결과값을 group by 해서 할수 있을꺼 같습니다.
-
Hisory
2014.05.07 17:03
아 추가로 월별 요율을 한번에 구하고 싶으시다면 pivot 을 찾아보세여
pivot 예제는 sqler 에도 많고 다른곳에도 많이 있습니다.
-
밥먹는푸우
2014.05.07 19:01
답변 감사드립니다
상단 내용중에
한건 데이터 가지고 하는것이 아니라 여러 데이터을 가지고 집계 내야 하는 부분인데요
그게 가능 한가요?
-
Hisory
2014.05.08 11:23
정확한 의도가 파악은 되지 않으나 제 샘플을 실행시키시면 전체 ROW 에 대해서 결과값을 도출할수 있습니다.
혹 해보시다가 정 안되시면 자세한사항 쪽지 주시면 도움드리도록 할께여
대략 아래 형식일듯 싶네여..
declare @tb table
(
id varchar(10)
,item varchar(10)
,sd smalldatetime
,ed smalldatetime
)
insert @tb
values('A','AA','2014.05.05','2014.05.15')
,('B','AB','2014.02.10','2014.02.15')
,('A','AA','2014.05.01','2014.05.15')
Select * From @tb
Select
*
, datediff(day,sd,ed)
, datediff(day,sd,ed) / 30.0 * 100
From @tb