mysql 查询数据带排行 当出时相同时 则排名相同 排行榜带分页

-- 此处select是为了分页
SELECT
	* 
FROM
	(
	-- 此处select是为了增加排行 且 当前一个与当前出库数量相同则不增加排行
	SELECT
		bb.*,
		( IF ( @pre_out_stock_num <> bb.out_stock_num, @rank := @rank + 1, @rank ) ) shipping_rank,
        -- 此处为第一次不等于0时排名+1 并且给pre_out_stock_num 赋值
		( IF ( @pre_out_stock_num <> bb.out_stock_num, @pre_out_stock_num := bb.out_stock_num, @pre_out_stock_num ) ) temp_1,
		@pre_out_stock_num := bb.out_stock_num AS temp_2 
	FROM
		(
		(
		-- 此处select是查出具体出库数量,出库金额,累计进出库数量
		SELECT
			SUM( op.exchange_out_stock_num ) AS out_stock_num,
			SUM( op.out_stock_price ) AS out_stock_price,
			SUM( op.exchange_show_num ) AS exchange_show_num,
			gw.wine_name 
		FROM
			-- 订单拆分表 拆出入库 出库信息
			u_order_split AS op
			-- 关联查到商品信息
			LEFT JOIN u_goods_support gs ON gs.prod_id = op.prod_id
			-- 关联查到酒体信息
			LEFT JOIN u_goods_wine AS gw ON gw.wine_code = gs.wine_code 
		WHERE
			-- 业务判断
			op.product_type = 1 
			AND op.ddate >= "2022-03-01" 
			AND op.ddate <= "2022-03-31" 
			-- 根据酒体分组
		GROUP BY gs.wine_code 
		HAVING gs.wine_code IS NOT NULL AND out_stock_num > 0 
		ORDER BY
			out_stock_num DESC 
	) AS bb,
	( SELECT @rank := 0 ) AS a,
	( SELECT @pre_out_stock_num := 0 ) AS b 
	) 
	) AS cc 
LIMIT 0,3

posted on   何苦->  阅读(300)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-04-14 php 面试常问 基础知识
2019-04-14 SVN(独立安装)-1.9.7 centos 6.5(64位)
2019-04-14 php (zip)文件下载设置
2019-04-14 php 获取当前完整url地址
2019-04-14 php 实现重定向的三种方式

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示