php 分支排序,php – 基于类别和分支的Mysql排名

试试这个查询

SELECT

@rn:=if(@prv=branch_code_id, @rn+1, 1) as rId,

@prv:= branch_code_id as branch_code_id,

val,

id,

date,

category

FROM

(SELECT

a.id,

a.date,

a.branch_code_id,

SUM(b.amount) as val,

c.category

FROM

sales_add_h AS a

INNER JOIN

sales_add_i AS b ON a.id = b.sales_h_id

INNER JOIN

control_panel_item_create AS c ON b.item_code_id = c.id

GROUP BY

c.category, a.branch_code_id, b.amount

ORDER BY

a.branch_code_id, SUM(b.amount) DESC)tmp

JOIN

(SELECT @rn:=0, @prv:=0)t

SQLFIDDLE了解排名如何运作.

我已经为你提到的每个branch_id做了排名,如果你想为特定分支中的每个类别排名,而不是你需要添加另一个存储类别的变量并在if子句中进行比较,还需要在内部排序数据通过c.category,a.branch_code_id,SUM(b.amount)DESC查询相应的顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值