SQL:查询排名

news/2024/11/23 3:59:01/

  MySQL语句查询排名

思路:

  先将数据查询出来,按需要排序的字段做好升序(ASC)、降序(DESC),设置好排序的变量:
  1、将已经排好的数据从第一条依次取出来,每取一个数据,排序变量就增加1,直至排序完成:
  (1,2,3,4,5…);
  2、当出现相同的数据时,排名保持不变,此时则需要再设置一个变量,用来记录上一条数据的值,跟当前数据的值进行对比,如果相同,则排名不变,不相同则排名自增加1:
  (1,2,2,3,4…);
  3、当出现相同数据时,排名保持不变,但保持不变的数据仍会占用一个排名位置:
  (1,1,3,4,5…)。

数据准备:

  数据表格式:

CREATE TABLE sql_sort(area_id VARCHAR(10),num int
);

  表内数据:

INSERT INTO sql_sort
VALUES('a',1),('b',1),('c',1),('d',2),('e',8),('f',12),('g',13),('h',13),('i',16),('j',18);
初表查询
SELECT * 
FROM sql_sort 
GROUP BY area_id
ORDER BYnum;

初表查询

思路1:

  不论数据是否相同,始终依次排序。
  (1,2,3,4,5,6,7…)

SELECTarea_id,num,@rownum := @rownum + 1 AS num_tmp
FROMsql_sort,(SELECT @rownum := 0) r
GROUP BYarea_id;

执行结果如图:
思路1

思路2:

  只要数据有相同的排名就一样,排名依次排序。
  (1,1,2,3,4,4,5…)

SELECTarea_id,num,CASE WHEN @rowtotal = num THEN @rownumWHEN @rowtotal := num THEN @rownum := @rownum + 1WHEN @rowtotal := 0 THEN @rownum := @rownum +1END AS rownum
FROMsql_sort,(SELECT  @rownum := 0 ,@rowtotal := NULL) r
GROUP BYarea_id;

执行结果如图:
思路2

思路3:

  只要数据有相同的排名就一样,但是相同排名也占位,排名依次排序。
  (1,1,3,4,5,5,7…)

SELECTarea_id,num,@rownum := @rownum + 1 AS num_tmp,@incrnum := CASEWHEN @rowtotal = num THEN @incrnumWHEN @rowtotal := num THEN @rownumEND rownum
FROMsql_sort,(SELECT  @rownum := 0 ,@rowtotal := NULL ,@incrnum := 0) r
GROUP BYarea_id;

  执行结果如图:
思路3


http://www.ppmy.cn/news/548933.html

相关文章

seo关键词排名点击优化软件

seo关键词优化软件,什么是SEO关键词优化软件?SEO关键词优化软件有什么用? SEO关键词优化软件是辅助网站关键词排名的软件,增加网站SEO关键词排名,SEO关键词排名不单单全靠SEO关键词优化软件,更多的是需要网…

百度搜索引擎 - 搜索关键字排名 API

如果想用程序模拟在浏览器中使用百度搜索的结果,最先想到的就是爬虫了, 然而,还有一个更简单的方式可以使用,那就行直接使用百度的 API ,返回是 json 格式的数据,简直不要太爽。。。 API: ht…

关键词搜索排行榜-精准找到行业流量关键词

关键词搜索排行榜,行业关键词搜索排行榜。为什么我们要关注行业关键词搜索排行榜,因为在网络推广中关键词搜索排名优化是每个推广人员必须关注的一个方向。我们就是为了优化搜索中的自然排名从而获得更直接的搜索流量。要清楚的知道用户的搜索习惯&#…

关键词查询

一 问题描述 在现代,谷歌、百度等搜索引擎走进了每个人的生活。 Wiskey 也希望将这个特性引入到他的图像检索系统中。 每个图像都有一个很长的描述,当用户健入一些关犍字来查找图像时,系统会将关键字与图像的描述进行匹配,并显…

如何优化关键词搜索排名(提升关键词排名的方法)

百度SEO排名因素怎么优化某个词库关键词排名? 如何对词库关键词进行排名?对具体网站进行有针对性的诊断和分析,做好词库布局匹配。基础站内外搜索优化。 如何优化公司网站的关键词和产品词汇一直是企业网站SEO优化网站管理员思考的问题。如…

网站怎么快速优化关键词排名?

网站想要快速优化关键词排名,不能要求一口吃成一个胖子,而是需要懂得循环渐进,知道如何做好每一步优化工作,才能值得网站优化效果又快又好。所以,企业可以根据以下4个方法: 1、做好内容布局 内容最好…

关键词搜索-免费搜索关键词排名软件

关键词搜索:只需要输入核心词,一键挖掘关键词 同行关键词搜索:输入网站,一键采集同行关键词分析 关键词查询:通过输入关键词实时查询网站排名 关键词搜索,网站的流量是由关键词带来的,所以关键词…

使用ChatGPT,开发复杂的java多线程需求。

需求 需要使用多线程,批量生成账号,并插入数据库 直接喂给ChatGPT如下promt GPT返回 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service;import java.util.concurrent.*; import j…