SQL выбрать все по дате - PullRequest
       34

SQL выбрать все по дате

0 голосов
/ 11 октября 2019

Я новичок в SQL. У меня есть 3 таблицы, подобные приведенным ниже:

Таблица клиентов: список клиентов с их именами и фамилиями, полный адрес Таблица продуктов: список статей, отправляемых на веб-сайте с указанием названия статьи, страныгде он был изготовлен, и его цена Таблица действий: список всех транзакций, выполненных клиентами за время транзакций.

Требуемый результат

получить полученный доходвсеми клиентами, для которых дата 2018 в каждой стране и упорядочена по наибольшему доходу.

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Это должно работать, если вы хотите включить страну, сначала увидеть самый высокий доход и использовать функцию ANSI в течение года.

SELECT c.client_id,
       c.first_name,
       c.last_name,
       p.country,
       SUM(a.amount) amount
FROM   client c
       JOIN actions a ON c.client_id = a.client_id
       JOIN produit p ON a.article_id = p.article_id
WHERE  EXTRACT(YEAR FROM a.transaction_date) = '2018'
GROUP BY c.client_id,
         c.first_name,
         c.last_name,
         p.country
ORDER BY SUM(a.amount) DESC;
0 голосов
/ 11 октября 2019

Может сделать что-то вроде этого (предполагается, что таблица транзакций имеет название статьи, а таблица результатов имеет поле даты с типом данных date):

select 
a.client, 
sum(c.price) as revenue

from client as a 

inner join actions as b 
on a.client = b.client

inner join produit c
on c.article = b.article

where year(c.date) = '2018'

group by 
a.client 

order by 
sum(c.price);
...