sql - SQL 脚本 - 查找最近的金额和总计
问题描述
有一个我正在努力解决的 SQL 表。试过几种方法。
基本上我有一个按客户名称排列的订单列表。数百万条记录(这是数据库的完整导出;我知道有更好的方法,但这是我能够获取数据的唯一格式)
格式如下:
CustomerName Date Amount
ABC 2018-01-08 11:05 PM $0.15
ABC 2018-01-15 12:45 PM $5.11
DEF 2017-03-03 5:28 PM $15.89
GHI 2015-05-09 9:42 AM $0.82
ABC 2018-09-16 9:30 AM $9.15
JKL 2018-03-09 10:14 PM $5.26
MNO 2018-06-12 2:09 AM $0.92
JKL 2018-11-30 3:05 AM $62.77
DEF 2017-03-11 4:19 PM $10.62
基本上,我正在尝试获取每个唯一客户的列表(按名称),然后是第一个订单的日期、最后一个订单的日期以及他们在我们这里花费的总金额
例子:
Customer First Order Last Order Total
ABC 2018-01-08 2018-09-16 $14.41
DEF 2017-03-03 2017-03-11 $26.51
ETC
因此,我已经能够通过手动将数据导出到 Excel,然后使用 vlookups 来做到这一点,但这很难,因为有数百万行数据,所以我基本上必须分别查找每个“列”(第一顺序,最后的订单,总和等)
编辑:我意识到为什么这很难。我是 SQL 新手,但显然日期不是正确的字段类型。所以我能够看到日期,但无法对其进行排序或求和。
我最终不得不导出表格,然后重新导入它,为日期选择正确的字段类型。
解决方案
这很简单。
SELECT MIN(date) as First Date, MAX(date) as Last Order, SUM(amount) as Total
From table
GROUP BY Customer
推荐阅读
- gradle - 我可以在 Android Gradle 项目中将 lint-result.xml 上传到 SonarQube 吗?
- c++ - 查找字符在两个索引之间出现的次数
- c# - 用于创建表的继承映射
- c# - 如何使双值的 C++ 和 C# 中的结果相同
- python-3.x - 嵌套 if else 语句未在 Python 中执行
- angular - 使用 Minikube 和 Kubernetes 通过 Angular Webapp 连接到 API
- python - Tensorflow - 从张量中提取字符串
- jenkins - 詹金斯添加新节点
- python - 如何使用 Python 多处理和 YouTube API 进行抓取
- microsoft-graph-api - 通过 REST API (Graph) 为 Azure Sentinel 在 Sentinel 中创建警报