gpt4 book ai didi

sql - Oracle:如何使 "group by"超过一个范围?

转载 作者:行者123 更新时间:2023-12-03 04:46:50 25 4
gpt4 key购买 nike

如果我有一个这样的表:

pkey   age
---- ---
1 8
2 5
3 12
4 12
5 22

我可以“分组”来计算每个年龄。

select age,count(*) n from tbl group by age;
age n
--- -
5 1
8 1
12 2
22 1

我可以使用什么查询来按年龄范围进行分组?

  age  n
----- -
1-10 2
11-20 2
20+ 1

我使用 10gR2,但我也对任何特定于 11g 的方法感兴趣。

最佳答案

SELECT CASE 
WHEN age <= 10 THEN '1-10'
WHEN age <= 20 THEN '11-20'
ELSE '21+'
END AS age,
COUNT(*) AS n
FROM age
GROUP BY CASE
WHEN age <= 10 THEN '1-10'
WHEN age <= 20 THEN '11-20'
ELSE '21+'
END

关于sql - Oracle:如何使 "group by"超过一个范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2483140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com