HackWeek踩坑记(3) - SQL获取某一条记录的index

第三个坑:SQL获取某一条记录的index 我们组的项目中的一个API涉及到个人排名信息展示,当时在和其他的开发人员讨论时确定了两种方法: 先采用 SELECT * FROM `user` ORDER BY `percentage` desc 查询按照分数将序排列的dict,再由Python封装成json传回给前端,前端遍历一遍数组中所有元素,用条件语句筛选当前用户所在的index,再将index加上1,得到用户当前的排名; 2. 先采用 SELECT * FROM `user` ORDER BY `percentage` desc 得到一个排列后的记录,再从中寻找指定条件的记录,获取这个记录所在的index,直接将数值传回给前端。 经过我们数次实际的数据库查询实验,发现第一种方案在数据量达到一定数量时会严重拖慢前端渲染的速度,而第二种方案很难通过SQL查询的方式直接返回一个数值。这两个方案都有缺陷,一度使我们很尴尬。 后来,通过询问学长,我们在网上查阅资料时偶然发现了一个和我们的需求十分相似的SQL语句: 这引起了我们的兴趣,于是我们很快照着这篇文章的模板写出了我们自己的代码: def chaxunmingci(self): conn = get_conn() cursor=conn.cursor(…