mysql查詢語句中使用者變數的使用

2022-10-10 19:06:13 字數 2245 閱讀 7819

先上**吧

select `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice`.`read_time` , `f`.`fnum` , `f`.`forg` , `f`.`fdst` , `f`.`actual_parking` as `parking` , `f`.`scheduled_deptime` , `f`.`estimated_deptime` , `f`.`actual_deptime` , `f`.`scheduled_arrtime` , `f`.`estimated_arrtime` , `f`.`actual_arrtime` , `f`.`is_vip` , `f`.`aoc_notice`

from (

select

t.id,

t.fid,

t.has_read,

t.notice_time,

t.read_time

from

( select

a.id,

a.fid,

a.has_read,

a.notice_time,

a.read_time,

@v_rownum := @v_rownum+1,

if(@v_fid=a.fid,@v_rowid:=@v_rowid+1,@v_rowid:=1 ) as row_count,

@v_fid:=a.fid

from

( select

id,

fid,

has_read,

notice_time,

read_time

from vkm_user_notice_flight

where `notice_type` = 'process_update' and uid=82

order by fid, notice_time desc

) a,

( select @v_rownum:=0, @v_rowid:=0, @v_fid:=null

) b) t

where t.row_count =1

) as `notice`

left join `vkm_flight` as `f` on `notice`.`fid` = `f`.`id`

left join `vkm_parking` as `parking` on `f`.`actual_parking` = `parking`.`parking_num`

在工作中朋友發來了一段這樣的sql語句 一開始我 就蒙了 根本不懂啊!因為個人的mysql也不是很精通只會簡單的增刪改而已其實,以上**很直接的寫法就是

select `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice`.`read_time` , `f`.`fnum` , `f`.`forg` , `f`.`fdst` , `f`.`actual_parking` as `parking` , `f`.`scheduled_deptime` , `f`.`estimated_deptime` , `f`.`actual_deptime` , `f`.`scheduled_arrtime` , `f`.`estimated_arrtime` , `f`.`actual_arrtime` , `f`.`is_vip` , `f`.`aoc_notice`

from `notice` left join `vkm_flight` as `f` on `notice`.`fid` = `f`.`id` left join `vkm_parking` as `parking` on `f`.`actual_parking` = `parking`.`parking_num`

使用者名稱量的設定可以通過set var value的方式也可以用以上的形式@var:=val;

mysql中if的使用if(exp1,exp2,exp3) 在if中如果exp1為true則執行exp2否則執行exp3;

現在再看上述的**的話可能就簡單多了!根據上述的**我又重新自己寫了乙個簡單的應用例項

select id,fnum,forg,fdst,@v_rownum:=@v_rownum+1 from vkm_flight,(select @v_rownum:=0) b

這樣就返回了@v_rownum的值

mysql語句中用if的例子

引用 http zxlm.cityk.cn fh viewthread.php?tid 1395 select if sva 1,男 女 as ssva from taname where sva 12.2.控制流程函式 case value when compare value then resu...

mysql語句中用if的例子

select if sva 1,男 女 as ssva from taname where sva 12.2.控制流程函式 case value when compare value then result when compare value then result else result end...

SqlServer查詢語句中用到的鎖

前段時間 公司dba來我們這培訓。講了一大堆mysql的優化。qa環節一程式設計師問 sql語句中的 with nolock 除了不鎖表外,是否能讀其他鎖住的資料 講課的人嘟嘟了半天沒解釋清楚 有可能是mysql裡沒有這個機制 公司的另一程式設計師給出了乙個很簡潔明瞭的回答 with nolock ...