SHOW:
|
|
- or go back to the newest paste.
1 | - | /*Создайте новое поле с категориями: |
1 | + | /*Отберите пятерых самых активных клиентов в США с 25 мая 2011 по 25 сентября 2011. Дату хранит поле invoice_date, тип данных поля — varchar. Выведите два поля: идентификатор клиента и количество заказов. Расположите записи по убыванию количества заказов. |
2 | - | заказы на сумму меньше одного доллара получат категорию 'low cost'; |
2 | + | В выдаче встретятся записи с одинаковым числом заказов. Их нужно отсортировать по возрастанию идентификаторов клиентов. Таким образом, получится двойная сортировка. Для этого указывают нужные поля после оператора для сортировки через запятую: ОПЕРАТОР поле_1, поле_2. |
3 | - | заказы на сумму от одного доллара и выше получат категорию 'high cost'. |
3 | + | |
4 | - | Для каждой категории посчитайте сумму значений в поле total, но только для тех заказов, при оформлении которых указан почтовый код. В итоговую таблицу должны войти только два поля. |
4 | + | |
5 | SELECT customer_id, | |
6 | COUNT(customer_id) | |
7 | - | SELECT SUM(total), |
7 | + | |
8 | - | CASE |
8 | + | WHERE billing_country = 'USA' |
9 | - | WHEN total < 1 THEN 'low cost' |
9 | + | AND CAST(invoice_date AS DATE) BETWEEN '2011-05-25' AND '2011-09-25' |
10 | - | WHEN total >= 1 THEN 'high cost' |
10 | + | GROUP BY customer_id |
11 | - | END |
11 | + | ORDER BY COUNT(customer_id) DESC, customer_id |
12 | LIMIT 5; |