1.  case、group by组合用法

首先看看表中的内容  (COUNTRY 、 POPULATION、  SEX)

COUNTRY      POPULATION   SEX
中国
中国
美国
美国
加拿大
加拿大
英国
英国
法国
法国
日本
日本
德国
德国
墨西哥
墨西哥
印度
印度

1.1 利用case、group by语句统计亚洲、北美洲的人口数量:

select sum(population),
case country
WHEN '中国' THEN '亚洲'
WHEN '印度' THEN '亚洲'
WHEN '日本' THEN '亚洲'
WHEN '美国' THEN '北美洲'
WHEN '加拿大' THEN '北美洲'
WHEN '墨西哥' THEN '北美洲'
else '其他' end
from Table_A
group by case country
WHEN '中国' THEN '亚洲'
WHEN '印度' THEN '亚洲'
WHEN '日本' THEN '亚洲'
WHEN '美国' THEN '北美洲'
WHEN '加拿大' THEN '北美洲'
WHEN '墨西哥' THEN '北美洲'
ELSE '其他' END;

  统计每个结果如下:

600        其他
1100   亚洲
250 北美洲

1.2  统计每个国家的男性人口、女性人口。(有点纵表变横表的意思,两行成一行进行显示)

select country,
sum(case when sex = 1 then population else 0 end) "男性人口",
sum(case when sex = 2 then population else 0 end) "女性人口"
from Table_A
group by country;

  统计每个结果如下:

英国    40     60
德国 100 100
印度 100 150
加拿大 51 49
墨西哥 25 25
中国 340 260
法国 150 150
美国 45 55
日本 150 100

2. 嵌套case 语句(end 后接表达式:end > 60)

首先看看表的内容

PRODUCTID   PRODUCTNAME PRODUCTPRICE  QUANTITY CATEGORY DESPERATION  ORIGIN
PID0001 T恤 25.62 100 衣服 促销产品 北京
PID0002 炒锅 35.62 100 厨具 促销产品 北京
PID0003 西瓜 45.62 100 水果 促销产品 北京
PID0004 鲈鱼 55.62 100 鱼类 商品描述004 北京
PID0004 鲫鱼 75.62 100 鱼类 商品描述005 北京
PID0004 草鱼 65.62 100 鱼类 商品描述006 北京

利用嵌套case语句实现如下功能:价格低于40元的产品,打上低价格的标识,价格大于等于40元的产品加上10元之后如果大于60元,则打上高价格的标识。

select productprice,productname,
case
when (case when productprice < 40 then 0 else productprice + 10 end > 60)
then 1
else 0
end as is_high_price
from PRODUCTINFO

打上标识的结果:

PRODUCTPRICE    PRODUCTNAME    IS_HIGH_PRICE
25.62 T恤 0
35.62 炒锅    0
45.62 西瓜   0
55.62 鲈鱼    1
75.62 鲫鱼    1
65.62 草鱼    1

case when 用法的更多相关文章

  1. Oracle CASE WHEN 用法介绍

    1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索 ...

  2. Oracle CASE WHEN 用法介绍[Z]

    Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...

  3. oracle case when 用法

    原文:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html 1. CASE WHEN 表达式有两种形式 --简单Case函数 ...

  4. 问题:oracle case when;结果:Oracle CASE WHEN 用法介绍

    Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...

  5. js部分---运算符,if分支语句,for循环;switch case 的用法;

    ------------------------------------------运算符---------------------------------------------------- *数 ...

  6. SQL中的CASE的用法

    CASE在SQL语句中,很有点类似java等高级编程语言中的switch这样子的多分枝语句,但是有点不同的是,case后面接的是when,另外,when的后续分枝有点类似if后面接else.这个是我的 ...

  7. mysql if 和 case when 用法 多个when情况用一个语句 存储过程

    在实际开发中,经常会用到 if 和 case when的用法,记录一下,以后可以用得到. DELIMITER $$ USE `数据库`$$ DROPPROCEDUREIFEXISTS `GetNoti ...

  8. oracle中DECODE与CASE的用法区别

    对于CASE与DECODE其实并没有太多的区别,他们都是用来实现逻辑判断.Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能.而CASE是9i以后提供的语法,这个 ...

  9. SQL中的CASE WHEN用法

    其语法如下: 1)case vlaue when [compare-value]then reslut [when[compare-value]] then result ...] [else res ...

随机推荐

  1. NSTimer “定时器”

    •NSTimer叫做“定时器”,它的作用如下 Ø在指定的时间执行指定的任务 Ø每隔一段时间执行指定的任务 Ø •调用下面的方法就会开启一个定时任务 + (NSTimer *)scheduledTime ...

  2. Android中的布局动画

    简介 布局动画是给布局的动画,会影响到布局中子对象 使用方法 给布局添加动画效果: 先找到要设置的layout的id,然后创建布局动画,创建一个LayoutAnimationController,并把 ...

  3. Ftrl in tensorflow

    reference :点击这里https://github.com/tensorflow/tensorflow/issues/3725 讲解 http://www.tuicool.com/articl ...

  4. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(04)

    1.3.3 框架窗口对象 MFC的CWnd类及其派生类为窗口或应用程序创建的窗口提供了面向对象的接口. CMainWindow是从CFrameWnd类派生而来,CFrameWnd模仿框架窗口的行为,可 ...

  5. java数据结构_笔记(5)_图的算法

    图的算法 1 图的遍历图的遍历就是从图中某个顶点出发,按某种方法对图中所有顶点访问且仅访问一次.遍历算法是求解图的连通性问题.拓扑排序和求关键路径等算法的基础. 2 深度优先遍历从图中某个顶点V 出发 ...

  6. 数据存储之CoreData

    #import "ViewController.h" #import <CoreData/CoreData.h> #import "Person.h" ...

  7. ie6下js更新元素display:block后,仍然不显示的hack办法

    $hotGames.html(html).removeClass("hide").show();//代码执行到这里,在ie6下仍然无法正常显示 //只有执行了下边的两行代码后,才正 ...

  8. 利用border-radious画图形

    今天才发现,border-radius可以画很多图形,下面跟我来看一下吧: 在设有宽和高的情况下画一个圆: #div1{ /*宽高相等,圆角范围为高或宽的一半或以上*/ background-colo ...

  9. C#导入Excel遇到数字字母混合列数据丢失解决

    错误重现: ----------------------------------------------------------------------- 在导入Excel读取数据时,其中的一个字段保 ...

  10. 获取局域网中指定IP或是主机名称的所有文件夹及其搜索文件

    最近做个功能在局域网中所有指定文件,于是花了点精力完成了部分功能,先贴上 using System; using System.Collections.Generic; using System.Co ...