Mysql query - итоговая сумма по стране, региону и процент по итогу (общий) - PullRequest
0 голосов
/ 18 мая 2019

У меня есть две таблицы 1. Geo 2. Продажи

  1. Geo с полями Страна, город, userId

  2. Продажи с полями UserId,sales_amount

Мне нужно сделать запрос и получить результат с полями страна / город / sales_amount (по городам) / процент от общего (общего) по городам

Как я могусделать это без объединения продаж таблицы на себя?Можете ли вы помочь мне с запросом?

У меня есть только идея с объединенными продажами для себя (но это не работает)

Я пытался объединить продажи для себя, но это не такт

Select Geo.country, Geo.city, sum(Sales_amount), 
(sum(Sales_amount))/"t" as "percentage of general total"
From Geo
Join 
Sales
On Geo.UserId = Sales.UserId
Join
(Select userId, summ(sales_amount) as "total" from Sales) as "t" 
ON t.userId = Geo.UserId
Group by Geo.country, Geo.city

и ничего в результате (

1 Ответ

0 голосов
/ 18 мая 2019

Соединение между таблицами с последующим суммированием по городам.Процент может быть получен путем деления каждой суммы на общую сумму:

select 
  g.country, 
  g.city,
  sum(s.sales_amount) citysales,
  100.0 * sum(s.sales_amount) / (select sum(sales_amount) from sales) percentage
from geo g left join sales s
on g.userid = s.userid
group by g.country, g.city
...