mysql实现分组和组内序号
SELECT CASE WHEN @mid = t.PAY_TIME THEN @ROW :=@ROW + 1 ELSE @ROW := 1 END SEQ, @mid := t.PAY_TIME, t.AMOUNTS, t.CHARGE_PRICE, t.MONEY, t.PAY_TIME AS CHARGE_TIME, t.PRODUCT_ID, t.PRODUCT_NAME, t.CANRETURNCOUNT, t.ID FROM ( SELECT bmb.ID, bmb.PRODUCT_ID, bmb.PRODUCT_NAME, bmb.AMOUNTS, bmb.MONEY, bmbc.CHARGE_PRICE, bmpr.PAY_TIME, ( bmb.AMOUNTS - IFNULL( ( SELECT SUM(bmb1.AMOUNTS) FROM B_MYGAS_BILLS bmb1 WHERE bmb1.ID IN ( SELECT bmbrr.BILLS_RETURN_ID FROM B_MYGAS_BILLS_RETURN_RELATION bmbrr WHERE bmbrr.BILLS_ID = bmb.ID ) ), 0 ) ) AS CANRETURNCOUNT FROM B_MYGAS_BILLS bmb LEFT JOIN B_MYGAS_BILLS_PAYMENTDETAILS bmbp ON bmbp.BILLS_ID = bmb.ID LEFT JOIN B_MYGAS_BILLS_CHARGEDETAILS bmbc ON bmbc.BILLS_ID = bmb.ID LEFT JOIN B_MYGAS_PAY_RECORD bmpr ON bmpr.ID = bmbp.BILLS_PAYMENTID WHERE 1 = 1 AND bmb.PRODUCT_ID NOT IN ( '10000001', '10000002', '10000003', '10000004', '10000013', '10000028', '90000001' ) AND bmbp.BILLS_PAYMENTID IN ( SELECT bmpr.ID FROM B_MYGAS_PAY_RECORD bmpr LEFT JOIN B_MYGAS_BIZ_REC bmbr ON bmbr.ID = bmpr.BIZ_REC_ID WHERE 1 = 1 AND bmpr.SERVICEPOINT_ID = '0220020cf1dc4535b4273fbe60d48503' AND bmbr.BIZ_MODE = '10000012' AND bmbr.BIZ_STATUS = '1' ) ) t LEFT JOIN (SELECT @ROW := 0) f ON 1 = 1 LEFT JOIN (SELECT @mid := '') g ON 1 = 1 ORDER BY t.PAY_TIME DESC, SEQ ASC