sql - 如何为给定数据创建范围

标签 sql sql-server date-range

如果可能的话,我们可以创建一个年龄范围并显示相同的计数吗?

假设范围在 22 到 25 count: 3 之间,范围在 26 到 30 count: 5 之间。

下面是我尝试执行此操作的人员表:

Age: 26 to 27, comments " post graduate"
Age: 28 to 30, comments "working and single"
Age: 31 to 33, comments " middle level manager and married"

Table name: persons

personid  lastname  firstname   age comments
1         Cardinal  Tom         22
2         prabhu    priya       33
3         bhandari  abhijeet    24
4         Harry     Bob         25
5         krishna   anand       29
6         hari      hara        31
7         ram       hara        27
8         kulkarni  manoj       35
9         joshi     santosh     28

最佳答案

SELECT COUNT(CASE WHEN AGE >= 26 AND AGE <= 27 THEN 1 ELSE NULL END) AS [total26To27]
      ,  COUNT(CASE WHEN AGE >= 28 AND AGE <= 30 THEN 1 ELSE NULL END) AS [total28T30]
      ,  COUNT(CASE WHEN AGE >= 31 AND AGE <= 33 THEN 1 ELSE NULL END) AS [total31T33]
FROM Persons

关于sql - 如何为给定数据创建范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21132735/

相关文章:

sql - 在 Lucene 或 SQL 中有更好的性能

sql - 为什么这个查询不起作用?

SQL 查询日期范围

sql - 强制转换为整数在Hive中不起作用

java - 如何编写接口(interface)自定义保存方法的测试用例

SQL Server Count on a grouped by

sql-server - VarChar 的最大行大小(MAX)

ruby-on-rails - 如何反向循环遍历日期范围?

mysql - 如何检查日期是否在两个日期之间mysql?

mysql - 是否可以在mysql中按几个不同的日期时间段进行分组?