Mysql行轉列,列轉行,日期

2021-10-21 20:15:59 字數 2236 閱讀 3350

學生表(student)

name

class

***小花1男

小明1女小王

1女小孫2

男小張2男

小李2那小紅

3女小草3

查詢每個班級的男生和女生的數量

select class,

sum(

case

when *** =

'女'then

1else

0end

) 女,

sum(

case

when *** =

'男'then

1else

0end

) 男,

count(1

) 總人數

學生表(students)

name

語文數學

英語小明

9996

65小花

9898

98小草

9894

78

具體實現**

select a.

`name`

,a.科目,a.分數 from

(select

name,

'語文'

as 科目 ,

max(語文)

as 分數

from students group

by name

union

select

name,

'數學'

as 科目 ,

max(數學)

as 分數

from students group

by name

union

select

name,

'語文'

as 科目 ,

max(英語)

as 分數

返回當前日期和時間

select

now(

);

返回當前日期

select curdate(

);

返回當前日期data是星期幾

select dayofweek(

'2020-03-07'

);

日期相減

select datediff(

'2020-03-08'

,'2020-03-01'

)

計算時間

select timediff(

'2021-03-08 00:00:00'

,'2021-03-01 00:00:00'

)

字串轉換為日期

select str_to_date(

'01/09/00'

,'%d/%m/%y'

);

select date_format(

'2020-01-09'

,'%y/%m/%d');

select date_format(

'2020-01-09'

,'%y-%m-%d');

select time_format(

'09:02:00'

,'%h:%i:%s'

);

Mysql 行轉列 列轉行

create table test tb grade id int 10 not null auto increment,user name varchar 20 default null,course varchar 20 default null,score float default 0 pr...

MySQL行轉列 列轉行

max case course when 數學 then score else 0 end 數學,max case course when 語文 then score else 0 end 語文,max case course when 英語 then score else 0 end 英語 fro...

MySQL 行轉列 列轉行

以下內容包括 行轉列 sql 執行效果展示 列轉行 sql 執行效果展示 總結 附上的建表語句 一 行轉列 廢話不多說,先上sql 兩種方式 行轉列 方法 select id,name,group concat case when subject 語文 then score end separato...