zoukankan      html  css  js  c++  java
  • MySQL条件判断处理函数_20160925

    MySQL条件判断处理

    一、假如我想把salesperson 分成 5组,计算每个销售分组的业绩

    首先先将销售分组 

    1 SELECT *,
    2 CASE
    3 WHEN  salesperson IN ("丁test","何test","刘test","叶test","夏test")  THEN "销售一组"
    4 WHEN  salesperson IN ("姚test","崔test","张test","徐test","曹test")  THEN "销售二组"
    5 WHEN  salesperson IN ("李test","杨test","王test","石test","粟test")  THEN "销售三组"
    6 WHEN  salesperson IN ("胡test","薛test","谈test","邓test","邱test")  THEN "销售四组"
    7 WHEN  salesperson IN ("韩test","马test","魏test")  THEN "销售五组"
    8 ELSE NULL END AS 销售分组
    9 FROM test_a03order AS a

    根据生成的销售分组字段进行聚合 

     1 SELECT 销售分组,SUM(pay_money) AS 业绩
     2 FROM (
     3     SELECT *,
     4     CASE
     5     WHEN  salesperson IN ("丁test","何test","刘test","叶test","夏test")  THEN "销售一组"
     6     WHEN  salesperson IN ("姚test","崔test","张test","徐test","曹test")  THEN "销售二组"
     7     WHEN  salesperson IN ("李test","杨test","王test","石test","粟test")  THEN "销售三组"
     8     WHEN  salesperson IN ("胡test","薛test","谈test","邓test","邱test")  THEN "销售四组"
     9     WHEN  salesperson IN ("韩test","马test","魏test")  THEN "销售五组"
    10     ELSE NULL END AS 销售分组
    11     FROM test_a03order AS a
    12 ) AS b
    13 GROUP BY 销售分组

      

     二、我想对城市业绩进行分组  金额500以下的分为一组,金额500到1000的一组 1000到4000的一组 4000以上的一组

    1 SELECT city,SUM(pay_money) AS 业绩,
    2 CASE WHEN SUM(pay_money)<=500 THEN "(0000,0500]"
    3 WHEN SUM(pay_money)<=1000 THEN "(0500,1000]"
    4 WHEN SUM(pay_money)<=4000 THEN "(1000,4000]"
    5 ELSE "(4000以上)" END AS "业绩区间"
    6 FROM test_a03order AS a
    7 GROUP BY city
    8 ORDER BY SUM(pay_money) DESC 
  • 相关阅读:
    2-红帽RHEL 7起步
    1-了解开源共享精神
    5.pip安装时使用国内源,加快下载速度
    4. python-运算符(另类语法)
    海燕python学习目录,特别棒!
    1Python学习CentOS 7 Linux环境搭建
    2python脚本在window编辑后linux不能执行的问题
    3Python脚本在linux环境下头文件解释
    5G 频谱 新技术
    python -实现单例模式五种方法
  • 原文地址:https://www.cnblogs.com/Mr-Cxy/p/5899025.html
Copyright © 2011-2022 走看看