文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>sql中case when then的用法

sql中case when then的用法

时间:2011-04-19  来源:希望你喜欢

table表中2个字段

age name

20 aa

30 bb

35 cc

40 dd

50 ee

70 ff

使用SQL语句查询得到结果如下:

年龄段 数目

青年 1

中年 3

老年 2

注:年龄小于30为青年,31到49为中年,50以上为老年。

请问SQL语句怎么写?
好评率:100%
给你一个参考。我相信你看了后就知道应该如何处理了。

有表student(id,name,score)依据分数列(score)每10分为一段,查询每段分数的人数。


SELECT a, COUNT(*)
FROM (SELECT a = CASE WHEN score >= 0 AND
score < 10 THEN '0-9' WHEN score >= 10 AND
score < 20 THEN '10-19' WHEN score >= 20 AND
score < 30 THEN '20-29' WHEN score >= 30 AND
score < 40 THEN '30-39' WHEN score >= 40 AND
score < 50 THEN '40-49' WHEN score >= 50 AND
score < 60 THEN '50-59' WHEN score >= 60 AND
score < 70 THEN '60-69' WHEN score >= 70 AND
score < 80 THEN '70-79' WHEN score >= 80 AND
score < 90 THEN '80-89' WHEN score >= 90 AND
score < 100 THEN '90-99' ELSE '100' END
FROM student) a
GROUP BY a
提问人的追问   2009-12-29 09:59
我研究了下,还是没写出来,我得到的结果是:

年龄段 无列名

青年 1

中年 1

中年 1

中年 1

老年 1

老年 1

语句是select '年龄段'=(case when age<30 then '青年' when age>=30 and age<50 then '中年' else '老年' end),count(*) from student group by age

,请问下怎么改啊? 回答人的补充   2009-12-29 10:12
见下语句,见图参考:

SELECT a, COUNT(*)
FROM (SELECT a = CASE WHEN age < 30 THEN '青年' WHEN age >= 30 AND
age < 50 THEN '中年' WHEN age >= 50 THEN '老年' END
FROM TABLE2) a GROUP BY a

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载