FROM Состав
WHERE Блюдо = 10;
Отметим также, что в столбце-аргументе перед применением любой функции, кроме COUNT(*), исключаются все неопределенные значения. Если оказывается, что аргумент - пустое множество, функция COUNT принимает значение 0, а остальные - NULL.
Например, для получения общего количества заказов, количества различных блюд и общего количества порций на указанную дату можно написать запрос
SELECT ’01.02.2011’ as Дата,
COUNT( DISTINCT ID_заказ) as Кол_заказов,
COUNT( DISTINCT блюдо) as Кол_блюд,
SUM(Количество_порций) as Кол_порций
FROM Заказы
| Результат
|
|
|
|
| Дата
| Кол_заказов
| Кол_блюд
| Кол_порций
|
| 01.02.2011
|
|
|
|
WHERE Дата=’10.02.2011’
и получить
Если в запросе указать дату, когда ресторан не работал
SELECT ’01.01.2011’ as Дата,
COUNT( DISTINCT ID_заказ) as Кол_заказов,
COUNT( DISTINCT блюдо) as Кол_блюд,
SUM(Количество_порций) as Кол_порций
FROM Заказы
WHERE Дата=’01.01.2011’
| Результат
|
|
|
|
| Дата
| Кол_заказов
| Кол_блюд
| Кол_порций
|
| 01.01.2011
|
|
| NULL
|
будет получен ответ:
Фраза GROUP BY.
Мы показали, как можно вычислить статистику по заказам на определенную дату.
Пример 13.
Теперь требуется вычислить эту статистику за каждый отработанный день. Это можно легко сделать с помощью запроса
SELECT Дата,
COUNT( DISTINCT ID_заказ) as Кол_заказов,
COUNT( DISTINCT блюдо) as Кол_блюд,
SUM(Количество_порций) as Кол_порций