IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> sql关联查询根据表中状态进行统计 -> 正文阅读

[大数据]sql关联查询根据表中状态进行统计

背景:

今天写接口时遇到关联查询并统计的需求,稍稍的被难为了一下。由于目前公司中大多数项目对于sql的要求并不是很高,基本上都是单表查询就可以完成了,很少涉及到多表联查。有时候是关联表查的也会分开进行单表查,所以写sql的技能有些被弱化了 。

概述:

查询涉及两个表,一个表是厂商表、一个表示项目表,表结构如下。

厂商表:

项目表:

?需求:我的需求是统计厂商各个产品的检测状态的数量,以及总数量。请看原型截图:

实现:下面是实现数据查询的sql语句

SELECT factory_name AS "厂商名称" ?,

COUNT(1) AS "送检产品总数量",
COUNT(CASE WHEN is_pass='0' THEN is_pass ?END ) AS "测试中的产品",
COUNT(CASE WHEN is_pass='2' THEN is_pass END ) AS "测试通过的产品",
COUNT(CASE WHEN is_pass='1' THEN is_pass END ) AS "测试未通过的产品"

FROM (SELECT factory_name ,is_pass FROM tb_item i RIGHT JOIN tb_factory f ON i.factory_id=f.id)

a GROUP BY factory_name
?

?结果:

项目中应用:

mapper.xml中如下:

  <select id="selectFactoryVoList"  parameterType="FactoryVo" resultMap="FactoryVoResult">
         SELECT factory_name AS "factoryName"  ,
        COUNT(1) AS "productTotal",
        COUNT(CASE WHEN is_pass='0' THEN is_pass  END ) AS "testCount",
        COUNT(CASE WHEN is_pass='2' THEN is_pass END ) AS "passCount",
        COUNT(CASE WHEN is_pass='1' THEN is_pass END ) AS "noPassCount"
    FROM (SELECT f.factory_name ,i.is_pass ,f.create_time FROM tb_item i RIGHT JOIN tb_factory f ON i.factory_id=f.id
        <where>
            <if test="beginTime != null   and endTime != null "> and f.create_time between #{beginTime} and #{endTime} </if>

        </where>


    )
a      GROUP BY factory_name

    </select>

接口截图:

?

?

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:36:15  更:2022-03-10 22:38:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:38:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码