case when用法

原创 2016年08月31日 16:30:54

1、划分时间段

select deviceid,
case when server_time >=20160825000000 and server_time <20160825010000 then 1
when server_time >=20160825010000 and server_time <20160825020000 then 2
when server_time >=20160825020000 and server_time <20160825030000 then 3
when server_time >=20160825030000 and server_time <20160825040000 then 4
when server_time >=20160825040000 and server_time <20160825050000 then 5
when server_time >=20160825050000 and server_time <20160825060000 then 6
when server_time >=20160825060000 and server_time <20160825070000 then 7
when server_time >=20160825070000 and server_time <20160825080000 then 8
when server_time >=20160825080000 and server_time <20160825090000 then 9
when server_time >=20160825090000 and server_time <20160825100000 then 10
when server_time >=20160825100000 and server_time <20160825110000 then 11
when server_time >=20160825110000 and server_time <20160825120000 then 12
when server_time >=20160825120000 and server_time <20160825130000 then 13
when server_time >=20160825130000 and server_time <20160825140000 then 14
when server_time >=20160825140000 and server_time <20160825150000 then 15
when server_time >=20160825150000 and server_time <20160825160000 then 16
when server_time >=20160825160000 and server_time <20160825170000 then 17
when server_time >=20160825170000 and server_time <20160825180000 then 18
when server_time >=20160825180000 and server_time <20160825190000 then 19
when server_time >=20160825190000 and server_time <20160825200000 then 20
when server_time >=20160825200000 and server_time <20160825210000 then 21
when server_time >=20160825210000 and server_time <20160825220000 then 22
when server_time >=20160825220000 and server_time <20160825230000 then 23
when server_time >=20160825230000 and server_time <20160826000000 then 24
end timerange
from base.transfer_dis

2、统计数据量

select type,count(distinct deviceid) num
from(
select deviceid,
case when title like '%.apk' then "apk"
when title like '%.mp4' then "mp4"
when title like '%.mp3' then "mp3"
when title like '%.jpg' then "jpg"
when title like '%.m4a' then "m4a"
when title like '%.gif' then "gif"
when title like '%.aac' then "aac"
when title like '%.jpg' then "jpg"
end type
from base.transfer_dis
where concat(year,month,day) = 20160825
and country = "中国"
and server_time >= 20160825200000
and server_time <= 20160825230000) tmp
group by type


3、直接统计数据量

set mapred.job.priority=very_high;
set mapred.reduce.tasks=40;
select count(distinct case when title like '%.apk' then deviceid end) apk,
 count(distinct case when title like '%.mp4' then deviceid end) mp4,
 count(distinct case when title like '%.mp3' then deviceid end) mp3,
 count(distinct case when title like '%.jpg' then deviceid end) jpg,
 count(distinct case when title like '%.m4a' then deviceid end) m4a,
 count(distinct case when title like '%.gif' then deviceid end) gif,
 count(distinct case when title like '%.aac' then deviceid end) aac,
 count(distinct case when title like '%.jpg' then deviceid end) jpg
from base.transfer_dis
where concat(year,month,day) = 20160825
and country = "中国"
and server_time >= 20160825200000
and server_time <= 20160825230000



Case when的用法

大家都知道Case when的用法,一旦满足了某一个WHEN ,则这一条数据就会退出CASE WHEN,而不再考虑其他CASE ,文章来详细的介绍了case when的用法并举例说明了。   Ca...
  • houpengfei111
  • houpengfei111
  • 2013年09月05日 15:02
  • 25631

case when 用法

SQL中的case when then else end用法 Case具有两种格式。简单Case函数和Case搜索函数。 ...
  • Eunicema
  • Eunicema
  • 2016年12月13日 14:51
  • 1246

Oracle中CASE WHEN的用法实例

实例演示:   (1)查询表users中的数据。   select u.id,u.realname,U.SEX from users u;   查询结果如下   ID    REALNAME ...
  • rznice
  • rznice
  • 2011年09月13日 17:43
  • 66757

ORACLE CASE WHEN 及 SELECT CASE WHEN的用法

ORACLE CASE WHEN 及 SELECT CASE WHEN的用法
  • lanmao100
  • lanmao100
  • 2010年06月03日 11:05
  • 28721

SQL之case when then用法详解

case具有两种格式。简单case函数和case搜索函数。 --简单case函数 case sex when '1' then '男' when '2' then '女’ else '其...
  • wangzl1163
  • wangzl1163
  • 2016年05月16日 11:14
  • 18906

Pl/sql 编程之case when的用法

Pl/sql 编程之case when的用法:(t3.LOCAL_BF_KND=111000 -- 本月基本月租费)select sum(t1.FAV_FEE) from bi_rw.FO_A_2FA...
  • switzerland
  • switzerland
  • 2009年12月25日 15:37
  • 2543

数据库的case when 使用实例

需求很简单,我有一个部门和部门的请假申请表。表数据简单罗列如下:申请信息存放在sqxx这张表中,然后存放了zybm和zybm对应的部门信息,有个部门表bmxx,想查询开始结束时间间隔为半天的(时差小于...
  • sushengmiyan
  • sushengmiyan
  • 2016年01月06日 19:37
  • 3432

SQL语句之CASE WHEN

CASE WHEN 基本概念Case具有两种格式:简单Case函数和Case搜索函数。简单Case函数: CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘0’ THEN ‘女’...
  • STFPHP
  • STFPHP
  • 2016年11月10日 01:49
  • 1673

sql中的case when的用法

CASE有两种用法       一种是CASE简单表达式用法          for example:                       CASE sex                 ...
  • a631464421
  • a631464421
  • 2015年03月24日 21:35
  • 1396

case when end用法

oracle中case when end 用法,直接上图,yim
  • u011897392
  • u011897392
  • 2014年08月29日 16:09
  • 1767
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:case when用法
举报原因:
原因补充:

(最多只允许输入30个字)