mysql 中关于怎么写 row_number()over(order by) 类似的功能支持


官网说明类似的支持:http://www.mysqltutorial.org/mysql-row_number/
根据说明排序   再根据条件判断是否一致   来决定是否新增 1

SELECT b.* FROM ( SELECT (@row_number := CASE WHEN @region_id = region_id AND @oil_id = oil_id THEN @row_number + 1 ELSE 1 END ) AS rn, id, oil_date, (@region_id := region_id) AS region_id, (@oil_id := oil_id) AS oil_id , last_update_time FROM `bwoil_prod_oil_price` s, (SELECT @row_number:=0) AS t WHERE audit_status=1 AND STATUS =0 ORDER BY region_id,oil_id ,oil_date DESC,last_update_time DESC ) a INNER JOIN `bwoil_prod_oil_price` b ON a.id = b.id WHERE a.rn = 1

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM