Программирование >>  Исключение дубликатов строк 

1 ... 135 136 137 [ 138 ] 139 140 141 ... 152


Преобразование/ Select category description, student first name, student Уточнение: last name, and the average AVG(of grade) as AvgOfGrade

from the categories table joined with the subjects table on category ID then joined with the classes table on subject ID, then joined with the student schedules table on class ID, then joined with the student class status table on class status, and finally joined with the students table on student ID where class status description is = Compl-eted, grouped by category description, student first name, and student last name

(Выбрать описание категории, имя студента, фамилию студента, АУС(балл) как AvgOfGrade из Категории , соединенной с Предметы по идентификатору категории, соединенной с Курсы лекций по идентификатору предмета, соединенной с Расписание занятий студента по идентификатору курса лекций, соединенной с Состояние курсов лекций студента по состоянию курса лекций, соединенной со Студенты по идентификатору студента, где описание состояния курса лекций = Завершен, сгруппированные по описанию категории, имени студента, фамилии студента)

SQL SELECT Categories.CategoryDescription,

Students.StudFi rstName, Students.StudLastName,

Avg(Student.Schedules.Grade) AS AvgOfGrade FROM ((((Categories INNER JOIN Subjects

ON Categories.CategorylD = Subjects.CategorylD) INNER JOIN Classes

ON Subjects.SubjectID = Classes.SubjectID)

INNER JOIN Student Schedules

ON Classes.ClassID = Student Schedules.ClassID)

INNER JOIN StudentClassStatus

ON Student Class Status.ClassStatus =

Student Schedules.ClassStatus) INNER JOIN Students ON Students.StudentID =

StudentSchedules.StudentID WHERE StudentClassStatus.ClassStatusDescription =

Completed GROUP BY Categories.CategoryDescription,

Students.StudFirstName,

Students.StudLastName



Student.GrQcleflverQge.Bv.CQtegorv (45 строи)

Accounting

Andrew

1 Fuller

79.43 90.24

Accounting

Eli/abcth 1 Hallmark

Accounting

>

John I Kennedy

71.45 i

Accounting

Michael

1 , . ., ... . .,...............

90 m 1

Accounting

Sara

Kenned)

89.92

Accounting

.................................

S mih

Leverling

90.67

Atcoumtng

Steven

lluchanan

87..S2

Accounting

Steven

Pundt

84.37

,<WA Mi mWtW . *M,№S irt4(<(>*,>,i,4Mrfii**iWiiiW. >iMiV.,i..lit..lW.iti4 ..tl

80,78

Peacock

остальные строки:

Бозо донных рецептов

Show me how many recipes exist for each class of Ingredient , ( Показать, сколько суиествует рецептов для каоюдого вида компонентов

Внимание! Трудность данной задачи состоит в том, что мы не хотим выполнять подсчет по конкретному виду рецептов более одного раза на рецепт. Например, если рецепт содержит несколько растительных и молочных компонентов, то он должен подсчитываться только один раз для конкретного вида. Похоже, настало самое время воспользоваться функцией COUNT(DISTINCT Value Expression), не так ли?

Преобразование/ Select ingredient class description, and the unique count Уточнение: of (DISTINCT recipe ID) from ttte ingredient classes table

joined with the ingredients table on ingredient class ID,

and then joined with the recipe ingredients table on

ingredient ID, grouped by ingredient class description

(Выбрать описание вида компонента, подсчитать

(DISTINCT идентификатор рецепта) из Виды

компонентов , соединенной с Компоненты

по идентификатору вида компонента, соединенной

с Компоненты рецепта по идентификатору компонента,

сгруппированные по описанию класса компонента)



SELECT

Ing redient Classes.Ing redientClassDesc ription,

Count(DISTINCT RecipelD) AS CountOfRecipelD FROM (IngredientClasses INNER JOIN Ingredients ON Ingredient Classes.IngredientClassID =

Ingredients.IngredientClassID) INNER JOIN Recipe.Ingredients ON Ingredients.IngredientID =

Recipe.Ingredients.IngredientID GROUP BY

Ingredient.Classes.IngredientClassDescription lngreclientClQss Distinct Recipe Count (18 строк)



ЧШ:.




Cheese

ConcU



Fruit

CTmin


остальные строки


Внимание! Поскольку Microsoft Access 2000 не поддерживает COUNT DISTINCT, запрос для примера базы данных на Access вначале выбирает DISTINCT значения для Recipe ID (идентификатора рецепта), используя табличный подзапрос в условии FROM, а затем подсчитывает строки, полученные в результате.

Итоги

Из данной главы вы узнали, зачем требуется объединять данные в группы, чтобы получить несколько итоговых подсумм для набора результата. После танталовых мучений с примером мы перешли к показу использования условия GROUP BY для решения этого примера и нескольких других. Также показали, как смешивать выражения со столбцами с агрегатными функциями.



1 ... 135 136 137 [ 138 ] 139 140 141 ... 152

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика