회귀 테스트를 수행하는 빌드 프로세스의 일부로 CPU 사용 경향을 표시하는 작업이 주어졌습니다.MySQL 데이터베이스 테이블에 대해이 쿼리를 수행하는 방법은 무엇입니까?
각 개별 테스트 케이스 실행에는 테이블 RegrCaseResult에 레코드가 있습니다.
이id projectName ProjectType returnCode startTime endTime totalMetrics
1 'first' 'someType' 16 'someTime' 'someOtherTime' 222
RegrCaseResult.totalMetrics가 ThreadMetrics.id을 통해 ThreadMetrics라는 다른 테이블에 연결하는 특수 키 경우 : RegrCaseResult 테이블은 다음과 같이 보인다. 여기
이 ThreadMetrics이 모양을 어떻게 다음 compnentName '작업 합계'와id componentType componentName cpuTime linkId
1 'Job Totals' 'Job Totals' 'totalTime' 34223
2 'parser1' 'parser1' 'time1' null
3 'parser2' 'generator1' 'time2' null
4 'generator1' 'generator1' 'time3' null
------------------------------------------------------
5 'Job Totals' 'Jot Totals' 'totalTime' 9899
...
행은 RegrCaseResult 테이블에서 totalMetrics가 연결되고 '을 totalTime가'정말 오전에 원하는 것입니다 것입니다 주어진 projectType을 얻는다. 'Job Totals'는 실제로 다른 레코드의 합계입니다. 위의 예에서 time1부터 time3까지의 합계입니다. ThreadMetrics 테이블 끝에있는 linkId는 다시 RegrCaseResult.id에 연결할 수 있습니다.
또한 특정 기간 동안 일관된 반환 코드가있는 프로젝트 만 포함하는 조건을 적용 할 수있는 방법이 있어야한다고 명시되어 있습니다. 내 최초의 질문이 오는 곳이다에서 다음과 같이
id projectName returnCode
1 'first' 16
2 'second' 16
3 'third' 8
4 'first' 16
5 'second' 8
6 'first' 16
는 기본적으로 나는 더 일관성있는 반환 코드가 모든 프로젝트를 얻으려면 : 내가 달성하기 위해 노력하고 무엇을 보여주기 위해 다음과 같은 간단한 테이블을 생성
returnCode 값이 무엇인지. 위의 샘플에서 "첫 번째"프로젝트 하나만 가져와야합니다. 나는 이것이 간단 할 것이라고 생각하지만 데이터베이스에 관해서는 나쁘다. 어떤 도움이라도 좋을 것입니다.나는 그것을 명확하게하기 위해 최선을 다했다. 희망은 내 목표를 달성했습니다.
Select Distinct ProjectName
From Table A
Where Not Exists
(
Select 1
From Table B
Where B.ProjectName = A.ProjectName
And B.ReturnCode <> A.ReturnCode
)
당신이 선택하고 정확하게 확실하지 않다, 그래서 당신은 당신이 필요로 Select
문을 변경할 수 있습니다
보유하고있는 기록은 몇 개입니까? – tadman
10의 가장 가까운 힘에 대한 숫자가 내가 원하는 대답이었습니다. 십니까? 수천? 수백 수 백배? – tadman
'third'또한 현재 정의에 따라 일치합니다. – Strawberry