SHOW:
|
|
- or go back to the newest paste.
| 1 | - | /*Отберите пятерых самых активных клиентов в США с 25 мая 2011 по 25 сентября 2011. Дату хранит поле invoice_date, тип данных поля — varchar. Выведите два поля: идентификатор клиента и количество заказов. Расположите записи по убыванию количества заказов. |
| 1 | + | /*Нужно посмотреть продажи по годам. Выгрузите таблицу, в которую войдут: |
| 2 | - | В выдаче встретятся записи с одинаковым числом заказов. Их нужно отсортировать по возрастанию идентификаторов клиентов. Таким образом, получится двойная сортировка. Для этого указывают нужные поля после оператора для сортировки через запятую: ОПЕРАТОР поле_1, поле_2. |
| 2 | + | год покупки; |
| 3 | минимальная сумма заказа; | |
| 4 | максимальная сумма заказа; | |
| 5 | - | SELECT customer_id, |
| 5 | + | общая сумма выручки; |
| 6 | - | COUNT(customer_id) |
| 6 | + | количество заказов; |
| 7 | - | FROM invoice |
| 7 | + | средняя выручка на уникального покупателя, округлённая до ближайшего целого числа. |
| 8 | - | WHERE billing_country = 'USA' |
| 8 | + | Отсортируйте таблицу по году от большего к меньшему. Отберите только те записи, в которых в поле billing_country указаны страны: США (англ. USA), Великобритания (англ. United Kingdom) и Германия (англ. Germany). |
| 9 | - | AND CAST(invoice_date AS DATE) BETWEEN '2011-05-25' AND '2011-09-25' |
| 9 | + | |
| 10 | - | GROUP BY customer_id |
| 10 | + | |
| 11 | - | ORDER BY COUNT(customer_id) DESC, customer_id |
| 11 | + | SELECT EXTRACT(YEAR FROM CAST(invoice_date AS date)), |
| 12 | - | LIMIT 5; |
| 12 | + | MIN(total), |
| 13 | MAX(total), | |
| 14 | SUM(total), | |
| 15 | COUNT(invoice_date), | |
| 16 | ROUND(SUM(total)/COUNT(DISTINCT(customer_id))) | |
| 17 | FROM invoice | |
| 18 | WHERE billing_country IN ('USA', 'United Kingdom', 'Germany')
| |
| 19 | GROUP BY EXTRACT(YEAR FROM CAST(invoice_date AS date)) | |
| 20 | ORDER BY EXTRACT(YEAR FROM CAST(invoice_date AS date)) DESC; |