Написать 2 sql запроса

1.Какова доля заказов со скидкой? 2.Какая самая популярная скидка (название) и какая сумма общих затрат по ней? Самая популярная скидка – это скидка, по которой получились наибольшие затраты в деньгах.

Даны две таблицы в Базе данных:

1.orders (id, disc_id) 2.discounts (id, name, count)

name – название скидки count – скидка в рублях


Ответы (1 шт):

Автор решения: Aziz Umarov

Какова доля заказов со скидкой?

SELECT COUNT(disc_id)/COUNT(*) * 100 AS PercentageWithDiscont FROM orders 

Какая самая популярная скидка (название) и какая сумма общих затрат по ней?

Если взять за основу

SELECT 
     orders.disc_id, 
     discounts.name, 
     Count(*) AS Popularity, 
     Count(*) * discounts.count TotalDiscounts 
FROM orders 
  LEFT JOIN discounts 
  ON discounts.id = orders.disc_id 
GROUP BY 
  orders.disc_id, 
  discounts.name 

обернуть это в табличное выражение, отсортировать по TotalDiscounts, Popularity так как вам нужно то получите в топе то что нужно. добавите SELECT TOP 1 и все

→ Ссылка