2015-11-19 2 views
0

Вот пример таблицы, я работаю с:Параметры в SQL агрегатной функции

| Name | RunTime | TestNum | Replication | 
|:-----:|:-------:|:-------:|:-----------:| 
| File1 | 12  | 1  | 1   | 
| File1 | 34  | 1  | 2   | 
| File1 | 76  | 1  | 3   | 
| File2 | 91  | 1  | 1   | 
| File2 | 52  | 1  | 2   | 
| File2 | 73  | 1  | 3   | 
| File1 | 61  | 2  | 1   | 
| File1 | 31  | 2  | 2   | 
| File1 | 53  | 2  | 3   | 
| File2 | 43  | 2  | 1   | 
| File2 | 49  | 2  | 2   | 
| File2 | 11  | 2  | 3   | 

Я пытаюсь определить запрос, где я могу выбрать совокупный RunTime для каждого конкретного TestNum для всех 3 Replications , Я знаю о функции Avg в SQL, но я все еще очень надуман на разницу между использованием группы стилей where where. Итак, как я могу написать запрос для создания этого вывода?

| Name | Aggregate | TestNum | 
|:-----:|:---------:|:-------:| 
| File1 | 40.6  | 1  | 
| File2 | 72  | 1  | 
| File1 | 48.3  | 2  | 
| File2 | 34.3  | 2  | 
+0

В вашем посте нет никаких вопросительных знаков. Какой у Вас вопрос? – Dan

+0

Это не вопрос, это список дел. –

ответ

2

Вам просто необходима функция агрегации и группа по:

SELECT Name, AVG(RunTime) Aggregate, TestNum 
FROM Table 
GROUP BY Name, TestNum 

Короче говоря, при использовании group by против where, бывшего должен быть использован при объединении данных и ее следует использовать при Подменят данные ,

Смежные вопросы