SELECT
atdate, #业务日期
city_id, #城市id
goods_id, #商品id
rank #排名
FROM
(
SELECT
oe.atdate,oe.city_id,oe.goods_id,oe.use_amt,
@rownum := @rownum+1,
IF(@city_id = oe.city_id , @rank :=@rank + 1 ,@rank := 1) AS rank, #排名
@city_id := oe.city_id
FROM(
SELECT atdate,city_id,goods_id,use_amt FROM dw.t_rpt_city_goods_distri_monitor_d t1 WHERE t1.`atdate`='2016-02-15'
ORDER BY city_id ASC,IFNULL(use_amt,0) DESC
) oe,
( SELECT @rank := 0, @city_id := NULL, @rownum := 0) rk
)m WHERE m.city_id=2 and rank<=50