Примеры могут быть использованы для практикума по запросам MySQL.

Запрос Q041. В случае, когда оператор IF используется несколько раз, удобнее заменить его оператором CASE. Оператор CASE (оператор множественного выбора) используется для оценки логического выражения и выполнения того или иного действия в зависимости от результата. В следующем примере поставленная партия считается «малой», если количество товара в партии меньше 500. В противном случае, то есть если количество товара больше или равно 500, партия считается «большой»:

SELECT dt, product_id, amount, 
CASE WHEN amount<500 THEN "малая" ELSE "большая" END AS mark
FROM m_income;

Запрос Q042. В следующем запросе MySQL если количество товара в поступившей партии меньше 300, то партия считается «малой». В противном случае, то есть если условие amount<300 не выполняется, то проверяется является ли количество товаров в партии меньше 500. Если размер партии меньше 500, то она считается «средней». В противном случае партия считается «большой»:

SELECT dt, product_id, amount, 
IF(amount<300,"малая",
IF(amount<1000,"средняя","большая")) AS mark
FROM m_income;

Запрос Q043. В следующем запросе MySQL если количество товара в поступившей партии меньше 300, то партия считается «малой». В противном случае, то есть если условие amount<300 не выполняется, то проверяется является ли количество товаров в партии меньше 500. Если размер партии меньше 500, то она считается «средней». В противном случае партия считается «большой»:

SELECT dt, product_id, amount, 
CASE
WHEN amount<300 THEN "малая"
WHEN amount<1000 THEN "средняя"
ELSE "большая"
END AS mark
FROM m_income;

Запрос Q044. В этом примере запроса MySQL продажи разделяются на три группы: малые (до 150), средние (от150 до 300), большие (300 и более). Далее, для каждой группы вычисляется итоговая сумма:

SELECT Category, SUM(outcome_sum) AS Ctgry_Total
FROM (SELECT amount*price AS outcome_sum,
IF(amount*price<150,"малая",
IF(amount*price<300,"средняя","большая")) AS Category
FROM m_outcome) AS t
GROUP BY Category;

Запрос Q045. Функция DateAdd используется для прибавления дней, месяцев или лет к данной дате и получения новой даты. Следующий запрос:
1) к дате из поля dt прибавляет 30 дней и отображает новую дату в поле dt_plus_30d;
2) к дате из поля dt прибавляет 1 месяц и отображает новую дату в поле dt_plus_1m:

SELECT dt, DATE_ADD(dt, INTERVAL 30 DAY) AS dt_plus_30d, 
DATE_ADD(dt, INTERVAL 1 MONTH) AS dt_plus_1m
FROM m_income;

Добавить комментарий


Защитный код
Обновить