2019-02-12
閱讀量:
1171
mysql查詢語(yǔ)句中成績(jī)等級(jí)ABCD可以做大小判斷嗎?
問(wèn)題描述:
當(dāng)我有一個(gè)字段,例如“成績(jī)”,取值分別為“A”、“B”、“C”、“D”……,那么在select...from...where語(yǔ)句中,可以判斷取值的大小嗎?
解決思路:
字母A~Z是升序,可以理解為順序變量,存在“A”<“B”<“C”<“D”……<……“Z”的大小判斷
這和成績(jī)本身等級(jí)大小的業(yè)務(wù)意義是相反的,因此需要格外注意
代碼示例:
create table test(score varchar(10));
insert test values('A'),('B'),('C'),('D');
select * from test;

select score,count(*) from test
group by score
order by score desc;

- 驗(yàn)證了字母Z~A是降序,因此存在“A”<“B”<“C”<“D”……<……“Z”的情況
select score from test where score > 'B';

- 在Z~A是降序的情況下,可以進(jìn)行大小判斷,即該數(shù)據(jù)水平中,大于“B”的是“C”、“D”
- 推廣來(lái)看,字母的大小判定邏輯,可以結(jié)合like、left、substring等函數(shù),解決特定情況的數(shù)據(jù)查取問(wèn)題






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
1條評(píng)論
0條評(píng)論