精华内容
下载资源
问答
  • mybatis中 choose when 使用

    千次阅读 2018-12-17 10:23:41
    when test="group_type != '' and group_type== 3"> GROUP BY k.goods_purchase_sku_id </when> <otherwise> GROUP BY k.goods_purchase_sku_id ...
    <choose>
        <when test="group_type != '' and group_type== 3">
            GROUP BY k.goods_purchase_sku_id
        </when>
        <otherwise>
            GROUP BY k.goods_purchase_sku_id
        </otherwise>
    </choose>
    
    展开全文
  • order by case when 使用方法

    千次阅读 2019-08-28 19:15:48
    order by 后面用case when 并不等于 order by 数字 示例1: SELECT last_name, salary , hire_date FROM EMPLOYEES ORDER BY salary DESC; 示例2: SELECT last_name, salary , hire_date FROM EMPLOYEES ...

    假设现在项目(project)状态分为以下几种:
    /**

    • 草稿
      /
      DRAFT(1),
      /
      *
    • 已发布
      /
      RELEASED(2),
      /
      *
    • 已下架
      /
      REMOVED(3),
      /
      *
    • 已删除
      */
      DELETED(4);

    现在想要展示已经发布的项目展示在最上面,然后是草稿、已下架、已删除状态的项目

    select 
    	id, name, subject_type_required, created_time
    from project 
    order by case status 
    when 2 then 1
    when 1 then 2
    when 3 then 3
    when 4 then 4
    end asc,
    created_time desc;
    

    order by 后面用case when 并不等于 order by 数字

    示例1:
    SELECT last_name, salary , hire_date
    FROM EMPLOYEES
    ORDER BY salary DESC;
    示例2:
    SELECT last_name, salary , hire_date
    FROM EMPLOYEES
    ORDER BY 2 DESC;
    以上两个示例结果相同。
    因为ORDER BY salary DESC==ORDER BY 2 DESC
    salary是第二个元素,所以可以使用2来代替。
    但是数字不可以使用0,也不可以超出查询的列。
    例如:select * from employers
    order by x;
    如果employers表有九个字段,那个X的范围就是1—9
    不能是0,也不能是10.

    展开全文
  • postgresql case when使用实例

    万次阅读 2018-11-26 13:45:36
    建表插入数据 CREATE TABLE test ( ID serial, ... SUM (CASE col WHEN 0 THEN 1 ELSE 0 END) AS col1, SUM (CASE col WHEN 1 THEN 1 ELSE 0 END) AS col2 FROM test GROUP BY NAME; 结果:

    建表插入数据

    CREATE TABLE test (
    	ID serial,
    	col INT,
    	NAME VARCHAR (10)
    );
    
    INSERT INTO test (col, NAME)
    VALUES
    	(0, 'A'),
    	(0, 'A'),
    	(0, 'A'),
    	(1, 'A'),
    	(0, 'B'),
    	(0, 'B'),
    	(1, 'B'),
    	(1, 'B');
    
    SELECT
    	*
    FROM
    	test;
    

    结果:
    在这里插入图片描述

    SELECT
    	NAME,
    	SUM (CASE col WHEN 0 THEN 1 ELSE 0 END)  AS col1,
    	SUM (CASE col WHEN 1 THEN 1 ELSE 0 END)  AS col2
    FROM
    	test
    GROUP BY
    	NAME;
    

    结果:
    在这里插入图片描述

    展开全文
  • 【Hive】case when 使用注意事项

    千次阅读 2020-05-10 14:38:02
    记录下hivesql 的 case when 的注意事项: 1. sum ( case when ... then ... else ... end ),不要漏了else里面的情况,这个可能会导致计算错误。 --近一个月,不同事件人均发生次数 select t2.type, sum(tot) ...

    记录下 hivesql 的 case when 的注意事项:

    1. sum ( case when ... then ... else ... end ),不要漏了else里面的情况,这个可能会导致计算错误。

    --近一个月,不同事件人均发生次数
    select
       t2.type,
       sum(tot) as total,
       sum(user_num) as total_user_num
    --近一个月,不同事件类型,每天每个用户的发生次数
    from ( 
          select
             a.type,
             dt,
             sum(case when nvl(use_times,'')<>'' then use_times end) as tot --发生次数
          from tb1
    	  where dt between '2099-01-01' and '2099-01-31'
          group by a.type, dt
         ) t1
    --近一个月,每天不同事件类型的用户总数,左关联剔除没有数据上报的类型
    left join (
              select type, user_num, dt
              from tb2
              where dt between '2099-01-01' and '2099-01-31'
              ) t2
           on t1.type = t2.type and t1.dt = t2.dt
    group by t2.type

    这边 sum(case when nvl(use_times,'')<>'' then use_times end) as tot,想统计次数不为null和空串的总和,但是其实没有什么意义,漏掉else的情况,默认还是为NULL。这样导致后面关联总人数的时候,把type对应次数为NULL的也统计进去了,分母偏大。应该在最后把NULL的情况过滤掉。

    2. case when 逻辑错误。

    case 
         when x>0 and x≤10 then (0, 10]
         when x≤20 then (10, 20]
         when x≤30 then (20, 30]
         when x≤40 then (30, 40]
         when x≤50 then (40, 50]
         else (50,+∞)
    end as range

    这边犯了一个逻辑错误。case when是从上往下读条件的,但是当x=0的时候,第一种情况不满足,会走到第二种情况。

    3. 当要判断的条件在同一行数据的时候,注意不能用case when去判断了,要分开统计。

    --假设map类型的字段info有一条数据为:
    >>>{"sw_1":"1", "sw_2":"1", "sw_3":"0"}
    
    select 
    case 
        when info['sw_1'] = 1 then '开关1打开'
        when info['sw_2'] = 1 then '开关2打开'
        when info['sw_3'] = 1 then '开关3打开'
    end as type
    ,count(id) as user_number
    from xxxx
    group by 
    case 
        when info['sw_1'] = 1 then '开关1打开'
        when info['sw_2'] = 1 then '开关2打开'
        when info['sw_3'] = 1 then '开关3打开'
    end
    

    这样统计3个开关打开的用户数是不行的,当开关1=1的时候,就不会往下走了,导致数据统计会有误。需要分别统计。

    展开全文
  • Mysql数据库if语句case when使用

    千次阅读 2016-07-03 15:28:37
    Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用: IF表达式 IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 NULL),则 IF()的返回值为expr2; 否则返回值则为 ...
  • [Hive基础]-- hvie case when 使用

    千次阅读 2016-07-20 19:14:22
    注意:必须要把case when 链接在一起使用 select case  when length(temp5.arrive_datetime)&gt;4 then 'y' when length(temp5.arrive_datetime)&lt;3 then 'n' else 'n'  end from t_test2;  ...
  • 数据库的case when 使用实例

    千次阅读 2016-01-06 19:37:39
    select sqbm, (select bmmc from bmxx b where b.bm=a.sqbm) as bmmc, sum(case when A.hasdata <>'' and timestampdiff(HOUR,kssj,jssj)) as bt, sum(case when A.hasdata <>'' AND timestampdiff(HOUR,kssj,jssj)...
  • 1. CASE WHEN expression1 THEN VALUE_1   WHEN expression2 THEN VALUE_2  ELSE VALUE_N  END AS NEW_FIELD SELECT a~hkont, a~lkorr, CASE WHEN a...
  • Ansible篇-ansible-playbook if/when使用详解

    千次阅读 2020-02-19 18:42:37
    1 先码上链接 条件选择: http://www.ansible.com.cn/docs/playbooks_conditionals.html 循环: http://www.ansible.com.cn/docs/playbooks_loops.html ...2 使用心得 未完待续
  • 我在sql中使用了 case when 来 显示状态 但是 我在页面显示的时候 出现 ????乱码 情况出现 解决方案: 在 配置文件中修改 sql的编码格式 此编码 格式 是返回时候 对应 sql语句上的编码方式 更改为 utf-...
  • js $.when使用时的注意事项

    千次阅读 2019-02-15 15:40:42
    function getClsData(){ return ajax.post({ req:{ service: 'SELECTMCLSTREE' } }).done(function(data) { allTreeData= data[0];...此处对$.when使用要注意,该ajax必须被返回才能使用$.when
  • SQL中的CASE WHEN使用

    千次阅读 2009-07-16 13:38:00
    Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sex WHEN 1 THEN 男 WHEN 2 THEN 女 ELSE 其他 END --Case搜索函数 CASE WHEN sex = 1 THEN 男 WHEN sex = 2 THEN 女 ELSE 其他
  • SQL中case...when使用技巧

    千次阅读 2014-06-27 17:57:59
    一般项目开发中,我会直接使用sql在数据库中先查询出数据,然后再对数据进行
  • [数据库] 一文搞懂case when所有使用场景

    万次阅读 多人点赞 2019-02-01 16:44:44
    前几天,为了给产品分析当前用户数据结构,写sql的时候使用到了case when,今天来总结一下casewhen的使用方法,以此为戒,感觉写的不好请拍砖,感觉写的还可以,给哥们点个赞,或者回复一下,让我意识到我不是一个人...
  • CASE WHEN 及 SELECT CASE WHEN的用法

    万次阅读 多人点赞 2018-08-26 19:14:59
    WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END   --Case搜索函数  CASE WHEN sex = '1' THEN '男'  WHEN sex = '2' THEN '女'  ELSE '其他' END   种方式,...
  • postgresql中case when使用

    千次阅读 2018-11-15 16:44:33
    SELECT jb.ID::varchar, jb.name, CASE jb.banquet_type WHEN 1 THEN '公司年会' WHEN 2 THEN '家宴' WHEN 3 THEN '开业庆典' WHEN 4 THEN '满月宴' WHEN 5 THEN '乔迁' WHEN 6 ...
  • SQL Case when使用方法

    千次阅读 2016-05-30 17:01:55
    SQL Case when使用方法
  • mysql中case when使用

    万次阅读 2018-07-27 15:33:56
    在写数据库语句的时候如果需要根据判断来确定结果的时候可以使用CASE ....when 上例子: 我需要根据查询的姓名为‘zhangsan’给他一个true状态,其他的为false SELECT *,CASE tb.username WHEN ('zhangsan') ...
  • tp5使用之case when使用

    千次阅读 2020-03-17 09:07:37
    主表的类型不同,需要连接查询不同的表时,可以使用case when 在主表(上面的表中)的模型里面,写如下代码来获取列表: $res =$this->alias("p") ->field([ 'p.*', "CASE WHEN p.pd_ticket_type = 1 ...
  • less (七) when使用

    千次阅读 2018-04-22 18:35:02
    下面看看 less when使用;我们写一个样式:当输入的宽度大于等于150px 的时候,给div添加一种样式; 当输入的宽度小于150px的时候,给div添加另外一种样式;使用when就可以实现上面的功能:.bgWidth(@width) ...
  • MySQL 的CASE WHEN 语句使用说明

    千次阅读 2016-12-07 22:46:22
    case when语句,用于计算条件列表并返回多个可能结果表达式之一。 CASE 具有两种格式: 一、简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。语法 简单 CASE 函数:CASE input_expression WHEN ...
  • case when的嵌套使用

    千次阅读 2019-11-19 17:07:41
    case when的嵌套使用脚本分析 脚本分析 case when可以嵌套使用,写出更复杂的逻辑实现 select trunc(a.out_date) out_date, nvl((select x.dept from neubi_work.dim_dept x...
  • SQL之CASE WHEN用法详解

    万次阅读 多人点赞 2018-08-30 14:43:02
    简单CASE WHEN函数: CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' END CASE SCORE WHEN 'B' THEN '良' ELSE '不及格' END ...等同于,使用CASE WHEN条件表达式函数实现: CASE WHEN SCORE = 'A'...
  • Laravel中when使用

    千次阅读 2019-01-11 12:10:34
    当你在使用where语句有前提条件时,比如某值为1的时候才执行where子句,否则不执行,这个时候,laravel5.5新出了一个简便方法when($arg,fun1[,fun2])。 具体用法如下:当$arg为真时,执行闭包fun1,为假时,执行闭包...
  • MySQL在where后面使用case when

    万次阅读 2018-05-15 09:24:42
    在MySQL中,在where后面使用case when的说明 报错语句 select * from A, B where &amp;amp;amp;amp;lt;font color=red &amp;amp;amp;amp;gt;B.name in&amp;amp;amp;amp;lt;/font&amp;amp;amp;amp...
  • update case when使用

    千次阅读 2018-06-01 15:44:56
    示例:根据年龄确定组别-- 更新 update `act_txtx_players_mf` as pmf inner join `act_txtx_players` as p on pmf.players_id=p.id set... when p.age&lt;7 then 1 when p.age&lt;10 then 2 else 3 end...
  • Oracle 数据库 case when使用

    千次阅读 2019-04-29 20:48:18
    我们在数据库进行查询的时候,有时候需要对数据进行...1.使用 case when ...then ..else..end等关联词 举例: 现在我判断,若第一列不是空,在插入的时候,取最大值的+1,否则我就自动设置一个数字。 select ...
  • Mysql查询时case when语句的使用

    千次阅读 2018-02-01 19:35:57
    前言 前几天在技术论坛论坛上发现一个求助帖,...但是后来楼主明确指出不想使用 union 操作,这时有一位高人巧用 case when 语句解决了问题,其实这是我第一次接触 case when 语句,于是查询了一下具体用法,在此做

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 805,100
精华内容 322,040
关键字:

when如何使用