MySQL sql Rank()函数实现
两列数据,以a列作为分组,查找以b列倒序的第一个。
select a,b,rownum,rank from (select tt.a, tt.b, @rownum:=@rownum+1 rownum,#@rownum变量加1,作为rownumber, if(@temp=tt.a,@rank:=@rank+1,@rank:=1) as rank,#tt.a字段等于@temp变量,则@rank加1,否则@rank赋值为1 @temp:=tt.a#将tt.a字段赋予@temp变量 注意该字段赋值顺序,先赋值,再自加减 FROM#以下两表作关联 (select a,b from your_table_name group by a,b order by a asc,b desc) tt,#一定要将同组的数据排序到一起,业务上是实际是以a作为分组,需要放前面;b业务上实际是作排序字段 (select @rank:=0,@rownum:=0,@temp:=null) ee ) result having rank =1;
注意 :@temp:=tt.a, 字段顺序,之前将该字段放在最后,发现问题,应该缓存出现了问题,rank列表全部为1,在该SQL执行第二次的时候rank列表才显示正常。
试试这个:
SELECT * FROM (
SELECT * FROM posts ORDER BY dateline DESC
) GROUP BY tid ORDER BY dateline DESC LIMIT 10
相关推荐
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
MySQL 标准SQL函数速查表 Standard SQL Functions Cheat Sheet。https://blog.csdn.net/jx520/article/details/122786700
mysql sqlapi代码示例,sqlapi链接各类数据库mysql、db2、oracle、sqlserver、sqllite等等
在实际运用中经常会创建这样的结构表Category(Id, ParentId, Name),特别是用于树形结构时(菜单树,权限树..)...难免会造成一些性能上的损耗,所以干脆使用sql的函数来解决这个问题,用函数返回我们最终需要的结果。
MySQL mysql_query 函数执行SQL语句.docx
MYSQL 日期函数大全,供大家一起共同分享学习。
用MySQL函数实现 小写金额与大写金额的互转,用数据库来实现
最近工作中用到 Mysql 要实现 oracle 的 lag 函数,网络上搜了不少文章,大都格式不清晰,或说明不清楚,所以自己做出例子来留个记录同时也分享一下。注解清晰,代码可直接用,建表样例数据sql都完整,直接可以跑。
文章目录SQL Date 函数MySQL Date 函数NOW() 函数CURDATE() 函数CURTIME() 函数DATE() 函数EXTRACT() 函数DATE_ADD() 函数DATE_SUB() 函数DATEDIFF() 函数DATE_FORMAT() 函数SQL Server Date 函数GETDATE() 函数...
mysql时间日期函数
MySQL开窗函数练习SQL文件
MySQL阳历转农历SQL实现 在mysql上通过SQL语言实现的阳历转农历, 年份跨越从1900到2049年.
省市区mysql sql文件
主要介绍了利用mysql实现的雪花算法案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
学习MySQL必备 数据库函数详解 sql学习经典 加速学习
数据库数据之间的转化,软件方便快捷 sql转化成mysql工具 mysql转化成sql server
sql,mysql,oracle常用的函数
使用MySQL函数,实现获取汉字拼音首字母。在SQL语句中传入汉字返回对应的首字母
mysql的函数手册——汇总了mysql的常用函数
基本上常用的都在这里了,如有遗漏还望指出。 MySQL常用函数大全