zoukankan      html  css  js  c++  java
  • sql server 按照区间进行分组的两种语法

    一、按照区间进行分组

    select CASE  
        WHEN a.Commission>0 and a.Commission<10 THEN
            '[0-10]'
            WHEN a.Commission>10 and a.Commission<20 THEN
            '[10-20]'
            WHEN a.Commission>20 and a.Commission<30 THEN
            '[20-30]'
            WHEN a.Commission>30 and a.Commission<50 THEN
            '[30-50]'
        ELSE
            '[50]'
    END  as 'Price',sum(a.ClickNum) ClickNum,count(b.productId) AskNum,sum(if(OrderState=11,1,0)) FinishNum,Round(sum(if(OrderState=11,1,0))/if(count(b.productId)=0,1,count(b.productId)),2)*100 TestFinishNum,Round(sum(if(ConmmentSate=2,1,0))/if(count(b.productId)=0,1,count(b.productId)),2)*100 CommentChance  from fksd_product a left join fksd_commentorder b on a.Id=b.ProductId where a.IsDelete!=10 
    GROUP BY CASE  
        WHEN a.Commission>0 and a.Commission<10 THEN
            '[0-10]'
            WHEN a.Commission>10 and a.Commission<20 THEN
            '[10-20]'
            WHEN a.Commission>20 and a.Commission<30 THEN
            '[20-30]'
            WHEN a.Commission>30 and a.Commission<50 THEN
            '[30-50]'
        ELSE
            '[50]'
    END ;

        二、第二种比较蠢的方式,具体实现如下:

     select 0-3" f1,cnt 数量 from (
    select count(*) cnt fromwhere 字段>=0 and 字段<=3 
    ) a
    union all
     select "4-6" f1,cnt 数量 from (
    select count(*) cnt fromwhere 字段>=4 and 字段<=6
    )b
    union all
     select "7-10" f1,cnt 数量 from (
    select count(*) cnt fromwhere 字段>=7 and 字段<=10 
    ) c
  • 相关阅读:
    JVM内存问题分析
    CAS
    普通内部类,匿名内部类和静态内部类
    文章简介
    conda更换下载源
    MySQL常见约束
    MySQL常见的数据类型
    DDL(数据定义语言)
    DML语言(数据操纵语言)
    进阶9:联合查询
  • 原文地址:https://www.cnblogs.com/wangjinya/p/12096188.html
Copyright © 2011-2022 走看看