1. 程式人生 > >在MySQL中查詢某條資料的排名

在MySQL中查詢某條資料的排名

//mysql可以執行,mybatis不能解析
SET @c=0;
  SELECT * FROM (
  SELECT nurse_id,nurse_header,nurse_mark,@c:[email protected]+1 AS ranks FROM nurse ORDER BY nurse_mark DESC
  ) nurse WHERE nurse_id = #{nurseId,jdbcType=CHAR} 


//mysql和mybatis可以執行
SELECT nurse_id,nurse_header,nurse_mark, @rownum := @rownum +1 AS
ranks,nurse_createtime FROM nurse t, (SELECT@rownum :=0) r WHERE nurse_id = #{nurseId,jdbcType=CHAR} ORDER BY nurse_mark DESC,nurse_createtime ASC

2種方式都可以在MySQL中執行,但是放到xml檔案中第一張方法就不能使用,因為@這個符號不能被解析

相關推薦

MySQL查詢資料排名

//mysql可以執行,mybatis不能解析 SET @c=0; SELECT * FROM ( SELECT nurse_id,nurse_header,nurse_mark,@c:[ema

php預處理方式向mysql插入多資料

除錯程式碼如下: <?php //mysql $servername = "localhost"; $username = "root"; $password = "******";

mysql隨機查詢若干資料

在mysql中查詢5條不重複的資料,使用以下:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />SELECT * FROM`table`ORDERBYRAND()

在Heidisql批量修改MySQL資料

UPDATE 表名 SET 要修改的列名 = CASE 標識列 WHEN 標識列的值 THEN '要修改的值' WHEN 標識列的值 THEN '要修改的值' END WHERE (標識列>=1 and 標識列<=3) 例如:要依據id值

mysql查詢出來的資料 序列化到protobuffer訊息結構體

void CDBTable::fillMessageField(Gmessage &message,  MSW::CStoreResult *result ) {BOMB_IF(result==NULL, "result null", return);const R

資料按照資料某個共有屬性排序(氣泡排序)

多條資料按照某條資料中某個共有屬性排序(氣泡排序) 注意:此例是根據學生成績由高到低排序,僅供自己專案中提供思路,勿擾。 1、新建一個專案,在專案中新增一個Students類,用於儲存學生的基本資訊。 Students 類: class Students {

Mysql查詢記錄在分頁的第幾頁

實踐中我們會遇到這樣的問題,知道某條記錄的id,然後需要判斷此條記錄如果按照id進行排序分頁,此條記錄在第幾頁。今天這篇文章為大家提供一個思路。 根據ID查詢分頁位置 根據ID來查詢分頁位置,比如按照ID的倒序排列,則可通過以下SQL查詢出大於此ID記錄數: s

mysql 查詢時間最大的一記錄

首先如下這樣寫是錯的: SELECT name,MAX(last_updated) FROM digital_asset GROUP BY name; 這樣子查到的資料last_updated確實是最大的,但是和name沒有關係; 用這個方法可以實現: SELECT A.* F

Dstream[Row] 資料批量匯入Mysql 並去重(大致為如果資料庫資料了,本次執行若有一行與資料庫的那行相同,則不會再插入進去)

def Save2Mysql(stateDStream: DStream[Row]): Unit = { stateDStream.foreachRDD { rdd => { rdd.foreachPartition(partitionRecord

mysql刪除重複記錄,並保留重複資料的一資料的SQL語句理解

正好想寫一條刪除重複語句並保留一條資料的SQL,網上查了一部分資料寫的很詳細,但還是在這裡寫下自己的理解,以遍後續學習 。如下: 表字段和資料:  SQL語句:  DELETE FROM `user` WHERE id NOT IN(SELECT * FROM(

sql insert into 一次性插入多資料 從一張表查詢到的資料插入到另一張表

--插入多條資料使用DEFAULT關鍵字(第二種方法,不要將預設列名寫出,在UNION後面加上all,最後一行不加) ------------------------------------------------------------------------------

總結Oracle,sqlserver,mysql查詢10-20記錄的寫法

1:select * from (select rownum rn ,* from 表名 wher rownum<20) a where a.rn>10 2:select * from 表名 where rownum<20   minus  

查詢MYsql最後幾記錄

有時候我們需要資料庫中的實時資料,而這些實時資料又是插入在表最後面的,所以我們需要獲取表中最後面的幾條記錄,怎麼操作呢 select * from msg order by id desc limit n ;那獲取資料表中總共有多少條記錄呢 select count(*

mysql 資料庫rand() 隨機查詢10資料 整理

網上找了好多看了還不是很明白,為了專案進度拿過來直接用。害怕以後還需要。好找一些,放在這裡。若要在i ≤ R ≤ j 這個範圍得到一個隨機整數R ,需要用到表示式 FLOOR(i + RAND() * (j – i + 1))。例如, 若要在7 到 12 的範圍(包括7和12

查詢記錄在資料庫是 第幾行

例子: 查詢hotelcode 為1942957 的記錄在資料庫中是第幾行 select tt.rn, tt.* from(select t.*, rownum rn from gds.t_falc

kettle從mysql查詢出特定的資料然後傳送郵件附件到指定的郵箱。

剛開始接觸kettle,還是小白,但是感覺這東西挺強大。 做了一個傳送附件excel到指定郵箱的demo。現在記錄如下。 1. 2. 3. . 4.job檔案 新建job檔案,在空白處設定屬性 5.拖入以下按鈕 設定郵件引數 到這裡應該就差不多了,執行成功的截

關於mysql刪除重複記錄,並保留重複資料的一資料的SQL語句理解

正好想寫一條刪除重複語句並保留一條資料的SQL,網上查了一部分資料寫的很詳細,但還是在這裡寫下自己的理解,以遍後續學習 。如下: 表字段和資料:  SQL語句:  DELETE FROM `user` WHERE id NOT IN(SELECT * FROM(SELE

關於Oracle,sqlserver,mysql查詢10-20記錄的寫法

一: oracle資料庫寫法:1:select * from (select rownum rn ,* from 表名 where rownum<20) a where a.rn>102:select * from 表名 where rownum<20  m

mysql統計資料庫有多少資料

今天主要複習了MySQL的一些簡單語句,可總結: mysql 統計 表的數量:SELECT COUNT(1) FROM information_schema.TABLES WHERE TABLE_SCHEMA = '你的資料庫'; 有時候需要查詢MySQL資料庫中各個表

mysql對查出的資料排序並計算出資料排在第幾行

SELECT * FROM( SELECT *, @curRank := @curRank + 1 AS rank FROM (SELECT CT u2.uuid as as uuid, d, u2.user_ner_name AS user_name, e, u2.fr