SQL 按日期全选



我是SQL的新。 我有 3 张表格,如下所示:

表客户端:包含其名字和姓氏、完整地址的客户端列表 表格产品管道:网站上发送的物品列表,其中包含物品名称、制造国家/地区及其价格 表操作:客户端完成的所有事务的列表以及事务时间。

所需输出

获取每个国家/地区日期为 2018 年的所有客户产生的收入,并按收入最高的顺序排序。

如果您想包括国家/地区,请先查看最高收入,并使用年度的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;

可以做这样的事情(假设发生业务表具有文章的名称,并且 produit 表具有日期数据类型的日期字段(:

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);

最新更新