需求是查一个max(id),再根据这个max(id)读出对应的数据
SELECT @x AS my_rank,item_id,item_n FROM sec2_reward,(SELECT @x:=(SELECT MAX(id) FROM sec2_reward WHERE id<=11)) r WHERE id=@x;SELECT MAX(id) as max_id FROM sec2_reward WHERE id<=?;
SELECT item_id,item_n FROM sec2_reward WHERE id=max_id;第一种explain的时候似乎有子查询
都是一个commit里的,不知哪种写法更好
SELECT @x AS my_rank,item_id,item_n FROM sec2_reward,(SELECT @x:=(SELECT MAX(id) FROM sec2_reward WHERE id<=11)) r WHERE id=@x;SELECT MAX(id) as max_id FROM sec2_reward WHERE id<=?;
SELECT item_id,item_n FROM sec2_reward WHERE id=max_id;第一种explain的时候似乎有子查询
都是一个commit里的,不知哪种写法更好
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货