SELECT GenreName, GenreHistory FROM Genres
WHERE NOT((GenreName = 'Роман') or (GenreName = 'Детектив'));
4. Раздел GROUP BY. Предназначен для группировки записей и вычисления для них агрегатных (статистических) функций. Группировка происходит по одному или нескольким полям, объединяются записи с одинаковым значением полей. Кроме полей для группировки выделяются поля, для которых будет вычислена агрегатная функция. Агрегатные функции выполняют вычисление на наборе значений и возвращают одиночное значение. Все они, за исключением COUNT, не учитывают значение NULL. В T-SQL используются следующие основные функции:
AVG – среднее арифметическое группы значений; SUM – сумма значений; MIN – минимальное значение; MAX – максимальное значение; COUNT – количество элементов в выборке.
Агрегатные функции могут использоваться без раздела GROUP BY. Например, можно посчитать, сколько в библиотеке читателей:
SELECT COUNT(ReaderID) FROM Readers;
Если нужно узнать более подробную информацию, например, сколько в библиотеке читателей из каждого города, значения придется сгруппировать по коду города. Поля, по которым происходит группировка, не обязаны присутствовать в списке выборки (в разделе SELECT поле CityID можно не использовать).
SELECT CityID, COUNT(ReaderID) as Rcount
|