mysql - 包括重复的订单号但不包括重复的价格
问题描述
我想为特定客户创建一个包含所有订单号和发货的表格。有时一个订单上有多个发货,因此,为了包括所有发货和订单,会有不同发货的重复订单。有没有办法包含重复的订单号,但每个唯一订单的金额只显示一次?例如:
店铺 | 运输 | 命令# | 数量 |
---|---|---|---|
X | 一个 | 1 | 5 |
X | b | 1 | - |
X | C | 1 | - |
X | d | 2 | 8 |
X | e | 2 | - |
解决方案
如果我理解正确,您可以使用窗口函数:
select t.*,
(case when 1 = row_number() over (partition by order# order by shipment)
then sum(amount) over (partition by order#)
end) as order_amount
from t
order by order#, shipment;
推荐阅读
- javascript - Vue 应用程序自定义 scss 文件 - 更改整个应用程序的字体?
- aws-sdk-go - 如何使用 aws glacier sdk 处理速率限制
- excel - rng.RefersToRange.Parent.Name 和 rng.Parent.Name 之间的区别
- kubernetes - Kong-ingress-controller CrashLoopBackOff : "kong-proxy" 被禁止
- jquery - 使用 Stackable.js 的表过滤器 - (如何复制数据属性?)
- tsql - 循环遍历表,同时记录不断添加到表中
- python-3.x - 用高斯预测 MNIST 数据集中的类——不同参数的相同预测误差?
- python - 如何在python中获取浮动文本文件?
- node.js - 一些请求没有进入节点服务器
- influxdb - HAproxy 为每个服务器单独的授权标头