SQL запрос с суммой и DATE_FORMAT - PullRequest
0 голосов
/ 23 марта 2020

Я надеюсь на вашу помощь

У меня есть три таблицы с отношением, активностью [идентификатор, сумма, выполнено], brand_to_activity [идентификатор, идентификатор_ деятельности, brand_id], бренд [идентификатор, имя] Необходимо получить верх 3 бренда продаются по сумме, сгруппированной по месяцам, например, в январе, сумма равна 100 [это сумма трех самых продаваемых брендов в январе], заполненный столбец в unixtime, поэтому вы должны использовать DATE_FORMAT, у меня сейчас следующее:

SELECT `activity`.*, SUM(activity.amount) as groupAmount,
        DATE_FORMAT(FROM_UNIXTIME(activity.completed), '%m-%Y') as grouping
FROM `activity` 
LEFT JOIN `brand_to_activity` ON `activity`.`id` = `brand_to_activity`.`activity_id` 
WHERE (`activity`.`completed` BETWEEN '1546300800' AND '1577750400') 
GROUP BY `grouping` ORDER BY `activity`.`completed`

Должно быть что-то вроде этого:

Grouping | Amount | Profit | Note 
January    100      50       Philips, Sony, Apple 
February   100      50       Apple, Microsoft, Canon
March      50       50       Philips, Apple, AOC

версия MariaDB 10

https://mega.nz/#!zFdAHACA!2CCVBVjMvwAxMqEz202a107s1CDxKc8jkvZiGQ5NJ0c
https://mega.nz/#!jNFCCQiL!MODxZR5kwCBXG6789uBZEVZhsdcZxY8W55qyIa-B4KQ
https://mega.nz/#!XRcAWAIT!xASyVxE3ucRiVtLJmjCKys7plImxLMOH99dRQVVSkDM
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...