1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > oracle如何查不满16岁 如何在Oracle数据库中使用SQL查询获取基于年龄组的人数?...

oracle如何查不满16岁 如何在Oracle数据库中使用SQL查询获取基于年龄组的人数?...

时间:2020-08-07 06:27:16

相关推荐

oracle如何查不满16岁 如何在Oracle数据库中使用SQL查询获取基于年龄组的人数?...

假设您已经有年龄的计算值。您可以使用CASE表达式和GROUP BY不同年龄段。

例如,

SQL> WITH data(person_id, age) AS(

2 SELECT 1, 3 FROM dual UNION ALL

3 SELECT 2, 4 FROM dual UNION ALL

4 SELECT 3, 8 FROM dual UNION ALL

5 SELECT 4, 9 FROM dual UNION ALL

6 SELECT 5, 15 FROM dual UNION ALL

7 SELECT 6, 25 FROM dual UNION ALL

8 SELECT 7, 32 FROM dual UNION ALL

9 SELECT 8, 44 FROM dual UNION ALL

10 SELECT 9, 67 FROM dual UNION ALL

11 SELECT 10, 75 FROM dual

12 )

13 SELECT (

14 CASE

15 WHEN age <= 5

16 THEN 'age <= 5'

17 WHEN age > 5 AND age <= 10

18 THEN 'age > 5 and age <= 10'

19 WHEN age > 10 AND age <= 30

20 THEN 'age > 10 and age <= 30'

21 ELSE 'age > 30'

22 END) age_group,

23 COUNT(*)

24 FROM data

25 GROUP BY (

26 CASE

27 WHEN age <= 5

28 THEN 'age <= 5'

29 WHEN age > 5 AND age <= 10

30 THEN 'age > 5 and age <= 10'

31 WHEN age > 10 AND age <= 30

32 THEN 'age > 10 and age <= 30'

33 ELSE 'age > 30'

34 END)

35 /

AGE_GROUP COUNT(*)

---------------------- ----------

age <= 5 2

age > 10 and age <= 30 2

age > 5 and age <= 10 2

age > 30 4

SQL>

如果您没有年龄范围,则可以使用解码对确切年龄进行硬编码。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。