我尝试按年份排序,因为在尝试按日期绘制图表时,我的计算字段不正确。我想如果我按照时间顺序排列日期,那么我的问题就会得到解决,但我不知道该怎么做。我的 dateIn 字段的格式为“7/10/2022”
SELECT
i.dateIn,
i.productId,
i.docNumber,
b.batchTotalCount,
i.productInCount,
b.batchTotalCount - COALESCE(SUM(i.productInCount) OVER(PARTITION BY i.productId,i.docNumber ORDER BY i.productInDate ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW),0) AS CurrentQuantity_warehouse
FROM
product_batch as b
JOIN product_in AS i ON i.productId = b.productId AND i.docNumber = b.docNumber
ORDER BY year(i.dateIn),month(i.dateIn),day(i.dateIn) asc
我尝试将长订单按字段放在最后一行,但没有成功。如果有帮助,我正在使用 Azure Databricks。
与
SUM(i.productInCount) OVER (PARTITION BY i.productId, i.docNumber
ORDER BY i.productInDate)
您正在建立一个运行总计。但正如你
ORDER BY year(i.dateIn), month(i.dateIn), day(i.dateIn) ASC
或者只是
ORDER BY i.dateIn
就此而言,你的结果看起来会很混乱。
通常,您希望在结果行中显示相同的顺序,以便您看到总数不断增加:
ORDER BY i.productId, i.docNumber, i.productInDate