首页 > 解决方案 > MySQL 使用运行总计来选择记录

问题描述

我有一个查询在最后一列显示运行总计

SET @runtot:=0;
SELECT
    q1.REC_IDX , q1.PAL_IDX, q1.ORD,q1. REPL,
q1.LOCATION, q1.COUNT, q1.WEIGHT, q1.LOAD_OUT, q1.DOCK, q1.PULL_THRU, q1.LINE, q1.PRE_PAL, q1.QTY_REMAIN,q1. USED, q1.BULK_EST,

   (@runtot := @runtot + q1.COUNT) AS rt
   
   
FROM
(SELECT REC_IDX , PAL_IDX, ORD, REPL,
LOCATION, COUNT, WEIGHT, LOAD_OUT, DOCK, PULL_THRU, LINE, PRE_PAL, QTY_REMAIN, USED, BULK_EST

FROM PALLETS

LEFT JOIN RACKS
ON RACKS.RACK_ID = PALLETS.LOCATION

WHERE LOAD_OUT = '4R' 

HAVING (COALESCE(COUNT,0)+COALESCE(PALLETS.BULK_EST,0)) - (COALESCE( PALLETS.USED,0))  > 0 

ORDER BY COALESCE(REPL, 1000) ASC, ORD) as q1

在此处输入图像描述

结果以正确的顺序显示记录,并且根据订单标准正确加总的运行总计。

我需要的最后一个条件是仅返回运行总计具有满足预设数量的值的记录。例如 110。

所以结果将被限制在前 3 行,因为第三行的运行总数 <= 到 110。

我一直无法弄清楚最后一块。

标签: mysql

解决方案


推荐阅读