資料庫語句 儲存過程 小知識

2021-09-03 02:40:22 字數 2261 閱讀 7106

、最近遇到在分頁查詢裡將某些特定的資料靠前展示問題,

解決辦法:使用 row_number() over函式

該函式是對你 select語句返回的資料進行編號處理,從1開始。在查詢時應用了乙個排序標準後,只有通過編號才能夠保證其順序是一致的,當使用row_number函式時,也需要專門一列用於預先排序以便於進行編號。

舉例,select *, row_number() over(order by 排序字段) as rows from table,order by 隨你跟幾個

還有一種方式 row_number() over (partition by col1 order by col2) 

它表示根據col1分組,在分組內部根據 col2排序,而此函式計算的值就表示每組內部排序後的順序編號(組內連續的唯一的)

、union用法(union 操作符用於合併兩個或多個 select 語句的結果集。)

要注意的是:union 內部的 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同。

select top 1 oscode from tb_dict_zrz z ,tb_os_dictsys o

where z.cjzid=o.dictcode and o.dicttype='cjz' and cjzname='$' and cjzname<>'排程中心'

and oscode<>'010501'

union

select top 1 oscode from tb_dict_zrz z ,tb_os_dictsys o

where z.cjzid=o.dictcode and o.dicttype='cjz' and cjzname='$' and cjzname='排程中心'

and oscode='010501' ;

預設地,union 操作符選取不同的值。如果允許重複的值,請使用 union all。union 結果集中的列名總是等於 union 中第乙個 select 語句中的列名。

增加乙個例子

select id,typename,fid from tb_dict_equipment_type order by typecode asc
想在該語句查詢出的結果後再加一條 「不選」 的資料,如圖:

使用

select id,typename,fid from tb_dict_equipment_type order by typecode asc

union

select top 1 id='',typename='不選',fid='' from tb_dict_equipment_type

總報 關鍵字 'union' 附近有語法錯誤。

查詢原因是因為 order by ,改為

select id,typename,fid,typecode from tb_dict_equipment_type

union

select top 1 id='00000000-0000-0000-0000-000000000000',typename='不選',fid='00000000-0000-0000-0000-000000000000',typecode='' from tb_dict_equipment_type

order by typecode asc

三、mybatis generator 生成的example 如何使用 and or 簡單混合查詢 

四、將查詢到的一張表的資料更新到另一張表中

update tb_device d inner join tb_store s on d.store=s.store set d.storeid=s.storeno

五、mysql計算兩個日期的時間差函式

select timestampdiff(month,'2009-10-01','2009-09-01'); 

interval可是:

second 秒 seconds

minute 分鐘 minutes

hour 時間 hours

day 天 days

month 月 months

year 年 years

資料庫語句之儲存過程

語句 create procedure 儲存過程名 預設值 output n with as sql語句 n 其中 output 該引數在儲存過程退出後,其值將返回至呼叫程式,以便在呼叫該儲存過程的程式中獲得並使用該引數值 recomple 建立的儲存過程在每次執行時都將被重新編譯 語句 exec ...

資料庫儲存過程相關知識

一 set ansi nulls 指定在對空值使用等於 和不等於 比較運算子時,這些運算子的 sql 92 遵從行為。注釋sql 92 標準要求對空值的等於 或不等於 比較取值為 false。當 set ansi nulls 為 on 時,即使column name 中存在空值,使用 where c...

查詢資料庫死鎖語句儲存過程

use master go object storedprocedure dbo p lockinfo script date 2016 11 23 16 29 01 set ansi nulls on goset quoted identifier on go 處理死鎖 檢視當前程序,或死鎖程序,...