不同列獲取等級數量

2021-08-31 01:36:32 字數 1331 閱讀 3388

相關貼子:

use tempdb

goif object_id('t') is not null drop table t

gocreate table t(

id int

,姓名 nvarchar(10)

,語文 nvarchar(10)

,數學 nvarchar(10)

,物理 nvarchar(10)

,化學 nvarchar(10)

,英語 nvarchar(10))go

insert into t

select 1,'張三','優','優','良','良','差'

union all select 2,'李四','差','優','優','良','差'

union all select 3,'王五','差','良','良','良','差'

union all select 4,'趙六','差','差','差','良','良'

goselect *

,para/100 as [優個數]

,para%100/10 as [良個數]

,para%100%10 as [差個數]

from (

select *,

( case when 語文 in ('優') then 100 when 語文 in ('良') then 10 else 1 end

+ case when 數學 in ('優') then 100 when 數學 in ('良') then 10 else 1 end

+ case when 物理 in ('優') then 100 when 物理 in ('良') then 10 else 1 end

+ case when 化學 in ('優') then 100 when 化學 in ('良') then 10 else 1 end

+ case when 英語 in ('優') then 100 when 英語 in ('良') then 10 else 1 end

) as para

from t

) as tt

/*a: 優 大於等於 1 小於等於 2

b: 良 大於等於 1 小於等於 3

c: 差 大於等於 1 小於等於 2

*/where

para/100 >= 1 and para/100 <= 2

and

para%100/10>= 1 and para%100/10 <= 3

andpara%100%10 >= 1 and para%100%10 <= 2

mysql 查詢不同列的數量合計

車輛違規資訊表testmodel test 表結構 表字段 cra id 車牌號 if weigui 該次行駛是否違規,0是正常,1是違規 目的 查詢表中共有幾輛車,違規的有幾輛車 方法1 select count f.cra id carnum,sum f.weigui weiguinum fro...

mysql 合計 mysql 查詢不同列的數量合計

車輛違規資訊表testmodel test 表結構 表字段 cra id 車牌號 if weigui 該次行駛是否違規,0是正常,1是違規 目的 查詢表中共有幾輛車,違規的有幾輛車 方法1select count f.cra id carnum,sum f.weigui weiguinum from...

利用MySQL統計一列中不同值的數量方法示例

前言 在一張表中,需要統計其中一列資料中,出現重複的記錄數。解決方案1 select count from table where origin 條件1 select count from user operation log where origin 條件2 select count from u...