首页 > 解决方案 > SQL 按日期全选

问题描述

我是 SQL 新手。我有 3 个如下表:

Table client:客户列表,包括姓名、完整地址 Table Produit:在网站上发送的文章列表,包含文章名称、制造国家和价格 Table Actions:列表客户在交易时间完成的所有交易。

所需输出

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

标签: sqlselectsql-updatesql-order-by

解决方案


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

推荐阅读