首页 > 其他分享 >group by 返回null( 不存在) 如何使用case when

group by 返回null( 不存在) 如何使用case when

时间:2023-11-22 22:35:04浏览次数:38  
标签:case group like level when DEPT select

1. 数据如下:

 2.  有数据的情况:

select
        DEPT,
        group_concat(distinct level) as level
    from
        content
    where
        NAME = '南京'
    group by
        dept

 

 

select
    DEPT,
    case  
        when level like '%2%' then 0
        when level like '%3%' then 1
        when level like '%4%' then 2
        when level like '%0%' then 3
        end as newlevel,
    case  
        when count(level) =0 then '灰'
        when level like '%2%' then '红'
        when level like '%3%' then '黄'
        when level like '%4%' then '绿'
        when level like '%0%' then '灰'
        end as colour
from

    (
    select
        DEPT,
        group_concat(distinct level) as level
    from
        content
    where
        NAME = '南京'
    group by
        dept
) t
    ;

 

 3. 无数据的情况:

    select
        DEPT,
        group_concat(distinct level) as level
    from
        content
    where
        NAME = '南1京'
    group by
        dept

 

 

select
    DEPT,
    case  
        when count(level) =0 then 3
        when level like '%2%' then 0
        when level like '%3%' then 1
        when level like '%4%' then 2
        when level like '%0%' then 3
        end as newlevel,
    case  
        when count(level) =0 then '灰'
        when level like '%2%' then '红'
        when level like '%3%' then '黄'
        when level like '%4%' then '绿'
        when level like '%0%' then '灰'
        end as colour
from

    (
    select
        DEPT,
        group_concat(distinct level) as level
    from
        content
    where
        NAME = '南123京'
    group by
        dept
) t
    ;

 

 

 

select

DEPT,

case

when count(level) =0 then 3

when level like '%2%' then 0

when level like '%3%' then 1

when level like '%4%' then 2

when level like '%0%' then 3

end as newlevel,

case

when count(level) =0 then '灰'

when level like '%2%' then '红'

when level like '%3%' then '黄'

when level like '%4%' then '绿'

when level like '%0%' then '灰'

end as colour

from

 

(

select

DEPT,

group_concat(level) as level

from

content

where

NAME = '南京'

group by

dept

) t

;

标签:case,group,like,level,when,DEPT,select
From: https://www.cnblogs.com/Avicii2018/p/17850503.html

相关文章

  • go errgroup用法
    草稿errgroup就是在waitgroup基础上封装了一层。我还是不喜欢go的这个控制goroutine的方式。只贴一下代码:funcmain(){ eg,ctx:=errgroup.WithContext(context.Background()) fori:=0;i<10;i++{ i:=i select{ case<-ctx.Done(): fmt.Printf("Task......
  • 10-基础SQL-DQL(数据查询语言)-分组查询(GROUP BY)
    DQL-介绍(常用)DQL英文全称是DataQueryLanguage(数据查询语言),数据查询语言用来查询数据库中表的记录查询关键字:SELECTDQL-语法DQL-分组查询语法:SELECT字段列表FROM表名[WHERE条件]GROUPBY分组字段名[HAVING分组后过滤条件];WHERE与HAVING区别: 案例:创建......
  • Netty - ChannelGroup 和 ArrayList 的区别
    一、Netty-ChannelGroup和ArrayList有什么区别?我正在使用Netty4.x,我想知道以下:ChannelGroup和ArrayList之间有什么区别?ChannelGroupchannels=newDefaultChannelGroup(GlobalEventExecutor.INSTANCE);和ArrayList<Channel>channels=newArrayList<>();二、......
  • 什么是计算机软件设计领域的 Edge Case
    在软件设计领域,EdgeCase(边缘情况)是一个重要的概念。简单来说,EdgeCase是指在系统的输入、操作或使用环境达到一些极限或者特殊情况时的场景。这些场景通常在正常使用条件下不太可能出现,但是如果发生,可能会导致系统行为异常,比如性能下降、功能失效,甚至系统崩溃。因此,在设计和测试......
  • 无涯教程-Ruby Class Case Study函数
    对于您的案Example研究,您将创建一个名为Customer的Ruby类,并将声明两个方法-display_details-此方法将显示客户的详细信息。total_no_of_customers-此方法将显示在系统中创建的客户总数。#!/usr/bin/rubyclassCustomer@@no_of_customers=0definitiali......
  • 使用cgroup控制CPU使用率
    关键文件cpu子系统中的关键文件。cpu.cfs_period_uscpu.cfs_quota_ustaskscgroup.procs常用命令查看当前系统内的CPU。lscpu查看当前系统内的CPU。cat/proc/cpuinfo查看当前的子系统。lssubsys-a将进程加入到控制组内。echoPID>tasks或者echoPID>cgrou......
  • cgroup的入门资料
    近期在准备特性的设计文档,按照评审专家的建议,需要排查现有产品中算力资源比如CPU、内存的分配方案,确认现有的硬件款型是否具备充足的资源来启用本特性。依据前辈提供的建议,检查了产品的部署脚本,发现当前使用cgroup来实施内存的配额管理。在家里的机器上尝试cgroup时,发现需要安装......
  • TestNG-分组groups
    !!!转载地址!!!场景1:publicclassTestngGroups{@Test(groups={"group1","group2"})publicvoidtestMethod1(){System.out.println("testMethod1");}@Test(groups={"group1",......
  • HTTP 响应字段 strict-origin-when-cross-origin 的含义介绍
    ReferrerPolicy是一个HTTP响应头部字段,用于控制浏览器在发送跳转请求时,将当前页面的URL信息如何包含在Referer首部字段中。ReferrerPolicy的值可以设置为不同的策略,其中"strict-origin-when-cross-origin"是一种常见的策略,它具体的含义是:当请求源(origin)和目标源(orig......
  • mysql group by 执行原理及千万级别count 查询优化
    大家好,我是蓝胖子,前段时间mysql经常碰到慢查询报警,我们线上的慢sql阈值是1s,出现报警的表数据有7000多万,经常出现报警的是一个groupby的count查询,于是便开始着手优化这块,遂有此篇,记录下自己优化过程中的心得。优化慢sql前,肯定是要懂sql的查询逻辑,所以我先介绍下groupby语句......