1. 程式人生 > >Mysql三種常用的top10返回查詢語句

Mysql三種常用的top10返回查詢語句

top10排名返回的問題,先記錄一下目前想到的三種方式:

1:基礎款

SELECT A.* , @rank:[email protected]+1 AS pm FROM (SELECT * FROM userlist ORDER BY points DESC) A, (SELECT  @rank:=0) B;

查詢結果為:

2:相同分數分配同樣的排名,排名會根據前面的人數進行順延

select t.*,(select count(s.points)+1 from userlist s where s.points>t.points) rank from userlist t order by t.points desc;

查詢結果為:

3:相同分數分配同樣的排名,排名不會根據前面的人數進行順延

select t.*,(select count(s.points)+1 from (select s.points,count(s.points) from userlist s group by points order by points desc) s where s.points>t.points) rank from userlist t order by t.points desc;

查詢結果為:

實際上,偶採用的不是以上三種,因為前端小丫頭只要 10個,不需要這樣麻煩的返回~

不過,做了學習和測試,還是要記錄下的~~

相關推薦

Mysql常用top10返回查詢語句

top10排名返回的問題,先記錄一下目前想到的三種方式:1:基礎款SELECT A.* , @rank:[email protected]+1 AS pm FROM (SELECT * FROM userlist ORDER BY points DESC) A, (

mysql常用的JOIN查詢

left join 去除 實現 -1 替代 images 查詢 重復數據 sele 1 A、B兩表共有 select * from tbl_emp a inner join tbl_dept b on a.deptId = b.id; 2 A、B兩表共有+A的獨有 sele

Hibernate中常用的資料庫查詢

HQL查詢: public List<User> getUserByNameAndAge(String name, Integer age) { Session session = getSession(); //from後面是物件,不是表名 Strin

mysql篇第十課:查詢語句()

  這節課講常用函式   單行函式 字元函式 concat拼接 substr擷取子串 upper轉換成大寫 lower轉換成小寫 trim去前後指定的空格和字元 ltrim去左邊空格 rtrim去右邊空格

MySQL常用表結構查詢語句

在我們使用數MySQL據庫進行查詢或者建表時,經常需要查看錶結構,下面以employees資料庫中的departments表為例進行表結構查詢: 方法 1:DESC departments; 方法 2:DESCRIBE departments; 方法 3:SHOW COLUMNS FROM depart

mysql常用的一些查詢語句

一、  Like欄位模糊搜尋:   SELECT * FROM fs_performance_details WHERE dimension_name LIKE 'UI%’;          (或者%UI%,%UI來表示前後,前,有引數內容) 二、  order

Spring cloud Jpa 的複合主鍵查詢(實體類操作,sql語句裡操作)

    今天剛好有個sql查詢,查出來的時候發現數據重複(可能說是覆蓋了更為準確些)了,條數是對的,再去debug一遍,發現是jpa自定義的實體類那裡出了問題,主鍵id只有一個,因為查出來的資料是複合主鍵的,所以只找到了實體類中定義的一個ID,可能就導致了資料覆蓋,但是條數是正確

mysql常用時間統計查詢語句

查詢當前這周的資料  SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now()); 查詢上週的資料 SELECT

Hibernate狀態;query查詢;ResultTransformer轉換為pojo對象;能夠將query語句寫在xml中;Criteria查詢;ProjectionList總和/f分組等函數

nfa factor let 統計 保存 pass 數據庫 排序 ESS 版權聲明:本文為博主原創文章,未經博主同意不得

mysql mysql插入資料語句和增刪改方法

點開題目是不是有點懵X,因為你只知道insert...values這一種,重來沒有聽說過三種,現在來介紹一下。 插入資料三種方式:

JavaScript中,有常用的綁定事件的方法

cti 能夠 自定義 結構 彈出 事件流 his 不同 標簽 要想讓 JavaScript 對用戶的操作作出響應,首先要對 DOM 元素綁定事件處理函數。所謂事件處理函數,就是處理用戶操作的函數,不同的操作對應不同的名稱。在JavaScript中,有三種常用的綁定事件的方法

PHP中遍歷數組有常用的方法

log jin 存儲 方法 執行 ron () ech ++ 在PHP中操作最多的數據估計也就是數組了,有著效率高、速度快、存儲方便的特點。 PHP中遍歷數組有三種常用的方法:1、for循環,用法最為靈活,靈活到懷疑人生,但記住格式也非常簡單。2、foreach,是PHP為

Android中常用解析XML的方式(DOM、SAX、PULL)簡介及區別

字符串 lan win name屬性 Coding 空間 toc log fin XML在各種開發中都廣泛應用,Android也不例外。作為承載數據的一個重要角色,如何讀寫XML成為Android開發中一項重要的技能。今天就由我向大家介紹一下在Android平臺下幾種常見的

mysql五補充部分:SQL邏輯查詢語句執行順序

std data 根據 使用 cor 分析 執行過程 笛卡爾 不同的 閱讀目錄 一 SELECT語句關鍵字的定義順序 二 SELECT語句關鍵字的執行順序 三 準備表和數據 四 準備SQL邏輯查詢測試語句 五 執行順序分析 一 SELECT語句關鍵字的定義

mysql第四篇--SQL邏輯查詢語句執行順序

l數據庫 分組操作 一定的 內容 isp 新建 處理 hid 表示 mysql第四篇--SQL邏輯查詢語句執行順序 一.SQL語句定義順序 SELECT DISTINCT <select_list> FROM <left_table> <jo

常用碰撞類型的實現(Box,Sphere,CapsuleCollider)及接觸點獲取

info 分享圖片 html 實現 狀態 ide aps image src git地址:https://gitee.com/Hont/ColliderDemo 大致邏輯說一下,首先每一種碰撞器需要一套質點到該碰撞器相應邊緣點的函數,後續不同類型的碰撞器都是基於這

MySQL常用的建表語句(一)

span mysq 圖片 pan ont tab 數據類型 默認 primary 幾種常用的建表語句: 1、最簡單的建表語句:   create table 表名(     列名1 數據類型(長度),     列名2 數據類型(長度),     ...     )   如下

RocketMQ專題2:常用生產消費方式(順序、廣播、定時)以及順序消費源碼探究

channel quest 再次 指定 conf 默認 廣播 body tag 順序、廣播、定時任務 前插 ? 在進行常用的三種消息類型例子展示的時候,我們先來說一說RocketMQ的幾個重要概念: PullConsumer與PushConsumer:主要區別在於Pul

JS實現陣列去重方法總結(常用方法)

方法一: 雙層迴圈,外層迴圈元素,內層迴圈時比較值 如果有相同的值則跳過,不相同則push進陣列 Array.prototype.distinct = function(){  var arr = this,result = [], i,j,len = arr.length;  f

List陣列,string陣列,Dictionary字典contain方法的查詢速度

在生成隨機不重複數時要判斷生成的數是否已生成過,這時就要和原來生成的數進行比較是否有重複,有以下三種方法 1. list陣列採用contains()方法 2.string陣列採用contains()方法 3.Dictionary字典採用add方法,如果有重複插入失敗跳到catch方法 當基數