여러 하위 쿼리를 기반으로 값을 계산하는 쿼리가 있습니다. 하위 쿼리는 특정 타임 스탬프를 기반으로합니다. 많은 다른 타임 스탬프 레코드에 대해이 값을 계산하고 싶습니다. 나는 그것을 어떻게하는지 알 수 없다.MySql : 여러 하위 쿼리를 기반으로 값 계산
기본 공식은 (S11S4CreateSessionReqRcvd - S11S4CreateSessionRespAccSent) * 100/S11S4CreateSessionRespAccSent 내가 지금 여기에 테이블에 붙여 넣기하는 방법을 모른다
SELECT
((((select ref_data FROM test.sgw_S5S11 where timestamp = "2013-08-21 00:00:06" and ref_type = "S11S4CreateSessionReqRcvd") - (select ref_data FROM test.sgw_S5S11
where timestamp = "2013-08-21 00:00:06" and ref_type = "S11S4CreateSessionRespAccSent")) * 100)/(select ref_data FROM test.sgw_S5S11
where timestamp = "2013-08-21 00:00:06" and ref_type = "S11S4CreateSessionReqRcvd")) as MyCalc
는
가 여기 CSV 형식으로 내 데이터의 샘플입니다 내 데이터 샘플. ,,
의 mykey, 타임 스탬프, ref_type, ref_data 1016101을, 128,042,907 S5S8CreateSessionReqSent을 "2013년 8월 21일 0시 0분 6초을"(나는 그것이 CSV 형식으로 그래서 여기에 테이블을 넣어하는 방법을 모른다) 1016102, "2013-08-21 00:00:06", S5S8CreateSessionRespAccRcvd, 127088838 1016103, "2013-08-21 00:00:06", S5S8CreateSessionRespRejRcvd, 615553 1016104, "2013-08-21 00:00:06" , S5S8CreateBearerRespRejSent, 103 1016107, "2013-08-21 00:00:06", S5S8CreateBearerRespAccSent, 9932 1016106, "2013-08-21 00:00:06", S5S8CreateBearerRespRejSent, 103 1016107, "2013-08-21 00 : 00 : 06 ", S11S4CreateSessionReqRcvd, 128255390 1016108,"2013-08-21 00:00:06 ", S11S4CreateSessionRespAccSent, 127114539 1016109,"2013-08-21 00:00:06 ", S11S4CreateSessionRespRejSent, 713325 1016110,"2013-08 -21 00:00:06 ", S11S4CreateBearerReqSent, 10028 1016111,"2013-08-21 00:00:06 ", S11S4CreateBearerRespAccRcvd, 9932 1016112,"2 013-08-21 00:00:06 ", S11S4CreateBearerRespRejRcvd, 42
모든 도움을 주시면 대단히 감사하겠습니다 !!!
감사합니다. @BillKarwin. 당신의 대답은 내가했던 것보다 훨씬 더 많은 것을 얻었지만 더 많은 타임 스탬프를 허용하도록 타임 스탬프를 확장함에 따라 각 ref_type에서 모든 것을 사용할 수있는 최대 값을 계속 제공했습니다. MAX가 (IF (ref_type = 'S11S4CreateSessionReqRcvd', ref_data, 0)) MAX로 변경해야했는데, MAX에서 (IF (ref_type = 'S11S4CreateSessionReqRcvd', ref_data) group by 문은 적절한 ref_type이 아닌 마지막 반복문이었습니다. 나는이 모든 것을 perl 스크립트로 끌어 와서 그렇게 할 것이라고 생각하지만 감사 드리고 싶습니다. – user2712370
나는 내가 원하는 것을 얻지 못했지만 당신의 접근 방식을 사용하여 많은 것을 배웠다. 다시 한 번 감사드립니다! – user2712370