mysql函式使用

2021-10-14 10:25:35 字數 2488 閱讀 7243

1、取到查詢條件為乙個欄位的擷取部分

select

a.order_no

from t_order a

where

a.deleted =

0 and substring

(a.order_no,1,

8)= # order by

a.add_time desc

limit 1

2、字段逗號隔開的函式使用find_in_set,獲取根據字典查詢的名稱拼接

/**

* 1.獲取當前階段名稱

*/inspecttitlecustomertemp.

setcurrentphaselabel

selectitemlabelsstr

(new

dictitemlabelsstrdto

("d**d"

,"t_inspect_title_customer"

,"current_phase"

,id)))

;select

group_concat

(b.item_label) str

from

$ aleft join t_dict_item b

left join t_dict c

on b.dict_id = c.id

on find_in_set

(b.item_value,a.$

) where c.dict_key = #

and a.id = #

3、根據多個條件分組,和排序

group by

a.id,

c.id

order by

c.edit_time desc,

d.edit_time desc

4、模糊查詢乙個list集合多個條件查詢乙個逗號拼接的字段

<

if test=

"search.currentphase != null and search.currentphase.size > 0"

>

"search.currentphase" item=

"item" index=

"index" open=

"" separator=

"" close=

"">

and t.current_phase like '%$%'

<

/foreach>

>

5、使用函式獲取比較時間段大小

獲取時間加上五年大於現在時間減去三個月

date_add

( a.last_yearly_inspect_date, interval 5 year )

>

date_sub

(now()

,interval 3 month )

6、coalesce關鍵字的使用

coalesce是sql標準裡面的乙個關鍵字,我們可以和聚合函式sum,count,max等一起使用完成一些特殊的功能。

1、查詢某乙個列總和,如果沒有資料或者null返回0

表字段中有乙個字段:公里數(f_gls)

,統計總的公里數

coalesce (

sum(f_gls),0

) distance

2、查出最大值

表字段中有乙個字段:模組id

(f_moudleid),查詢最大值

coalesce

(max

(f_moudleid),0

) max_moudleid

3、綜合使用:格式化

根據知識庫表裡面的記錄,生成下一條知識庫id

select

concat

('kb'

,date_format

(now()

,'%y%m%d'),

lpad

(coalesce

(count

(id),0

)+1,

3,'0')

) from

user_knowledgebase

where

datediff

(date

(now()

),date

(createtime))=

0

7、sql根據查詢順序返回結果

select id,autonum from program where autonum in (

202000016

,202001072

) order by field

(autonum,

202000016

,202001072

);

mysql 函式使用

over不能單獨使用,要和分析函式 rank dense rank row number 等一起使用。使用 引數描述condition 必須,判斷條件 value if true 可選,當條件為true值返回的值 value if false 可選,當條件為true值返回的值 使用例項 編寫乙個 s...

mysql 常用函式使用

and year t2.checkout time year 函式接收date型別,返回乙個年份。還有month 函式,乙個用法 mysql select year 2018 01 01 year 2018 01 01 2018 1 row in set大於。小於的,需要轉義。and t2.age ...

mysql函式使用集合

mysql函式使用集合整理 後續有用到的函式,會新增進來 strlist格式 引數以 分隔 如 1,2,6,8 這個函式很適合用來查詢包含多個值得列 find in set str,strlist select from student where find in set 值,欄位名 返回傳入的天數...