SELECT
	* 
FROM
	(
SELECT
	order_id,
	supplier_id,
	payment_time,
	@rank :=
IF
	( @current_user_id = supplier_id, @rank + 1, 1 ) rank,
	@current_user_id := supplier_id 
FROM
	( SELECT @current_user_id := NULL, @rank := NULL ) vars,
	order_info o
	LEFT JOIN ( SELECT merchant_id, audit_time, DATE_ADD( audit_time, INTERVAL 30 DAY ) AS end_time FROM `sdb_zyyw_merchants` ) b ON o.`supplier_id` = b.merchant_id 
WHERE
	payed > 50 
	AND `status` IN ( 'active', 'finish' ) 
	AND o.`payment_time` BETWEEN b.audit_time 
	AND b.end_time 
ORDER BY
	supplier_id,
	order_id 
	) a 
WHERE
	rank = 12;

mysql拓展

SELECT
    reg_time,
    total1 as '小计',
    @total := @total + total1 AS '总计'
FROM
    (
        SELECT
            date(reg_time) AS reg_time,
            sum(users) AS total1
        FROM
            test
        GROUP BY
            date(reg_time)
    ) AS temp,
    (SELECT @total := 0) AS T1
ORDER BY
    reg_time;

mysql拓展

相关文章: