mysql的一些sql語句

2021-10-05 19:50:02 字數 2107 閱讀 7720

--檢視現在的連線數

show processlist

--當前時間

select

current_time()

;--當前日期

select

current_date()

--時間戳

select

current_timestamp

()

--日期格式化

date_format(

now(),

'%y'

)--獲取月份

month

(now()

)-- 、查詢下週過生日的學生

select

*from student

where weekofyear(date_format(

now(),

'%y%m%d'))

= weekofyear(date_format(s_birth,

'%y%m%d'

)- date_format(s_birth,

'%y')*

10000

+ date_format(

now(),

'%y')*

10000)-

1;

if(   判斷條件,trueval,falseval   )

-- 35、查詢所有學生的課程及分數情況; 實現了mysql的行轉列

select st.s_id,st.s_name,

max(

if(s.c_id=

'01'

,s.s_score,0)

)as 數學

,max(if

(s.c_id=

'02'

,s.s_score,0)

)as 語文

,max(if

(s.c_id=

'03'

,s.s_score,0)

)as 英語

from student st left

join score s on st.s_id=s.s_id group

by s.s_id

--行轉列,使用 case when then else end

select s_id,

max(

case c_id when

'01'

then s_score else

0end

)as 數學,

max(

case c_id when

'02'

then s_score else

0end

)as 語文,

max(

case c_id when

'03'

then s_score else

0end

)as 英語

from score group

by s_id;

--如果為null 賦預設值

select

*, ifnull(columnname2,0)

from tablename;

select

*from emp order

by sal desc

limit

5;

使用 @ i:=1
-- 20、查詢學生的總成績並進行排名

select s_id 學號,

@k:=@k+

1 無並列排名,

@s:=if(

@score

=sumsc,@s,

@k) 有並列排名,

@score:=sumsc 總成績

from

(select

@k:=

0)r,

(select s_id,

sum(s_score) sumsc from score group

by s_id order

by sumsc desc

)s

MySQL的一些常用SQL語句

備份表 create table 新錶 select from 舊表 建立臨時表 create temporary table tablename id varchar 100 name varchar 100 age varchar 100 刪除臨時表 drop temporary table i...

一些sql語句

一。在oracle中建表,怎麼實現id自動編號 1 建表 create table code test id int,name varchar2 20 2.建立序列 create sequence s country id increment by 1 start with 1 maxvalue 9...

一些Sql語句

case when xx then yy else zz 例 case when count is null then 0 else count 當count為空的時候賦值0,不為空則取原值 isnull express1,express2 例 isnull count,0 當count為空的時候則...