zoukankan      html  css  js  c++  java
  • sql server统计字段的值在某些范围内中的个数

    有一张表test如下:

    create table test
    (
    id int identity(1,1) primary key,
    num int 
    )

    插入数据:

    insert into test( num) values (1);
    insert into test( num) values (2);
    insert into test( num) values (8);
    insert into test( num) values (15);
    insert into test( num) values (12);
    insert into test( num) values (13);
    insert into test( num) values (14);
    insert into test( num) values (16);
    insert into test( num) values (17);
    insert into test( num) values (5);
    insert into test( num) values (6);
    insert into test( num) values (7);
    insert into test( num) values (16);
    insert into test( num) values (18);
    insert into test( num) values (9);
    insert into test( num) values (10);
    insert into test( num) values (11);
    insert into test( num) values (12);
    insert into test( num) values (19);
    insert into test( num) values (20);
    insert into test( num) values (3);
    insert into test( num) values (4);
    insert into test( num) values (19);
    insert into test( num) values (20);
    insert into test( num) values (17);
    insert into test( num) values (18);
    View Code

    问题:请用一条sql语句查询 统计出num在 1~6,  10~17,  19~20 这三个范围内的个数分别是多少?

    解法如下:

    select 
    COUNT (case when num between 1 and 6 then 1 end ) as [1-6],
    COUNT( case when num between 10 and 17 then 2 end ) as [10-17],
    COUNT (case when num between 19 and 20 then 3 end ) as [19-20]
    from test

    如果问题是问1~5, 6~10,11~15这样成倍数(有规律)的话,则可以这样写:

    select COUNT(*) from test group by num/5
  • 相关阅读:
    Java中Vector和ArrayList的区别
    多线程
    集合框架
    5种运行时异常+1道面试题
    事务,视图,索引,备份和恢复
    MYSQL常用函数
    SQL数据库表字段明细导入导出
    SqlServer 命令方式备份与还原
    .NetCore IIS发布后PUT、DELETE请求错误405.0
    大数据中HBase的Java接口封装
  • 原文地址:https://www.cnblogs.com/527289276qq/p/5372172.html
Copyright © 2011-2022 走看看