统计oracle 数据库 lawpeople表lawtype字段多个值只统计一次问题,按照地区分类

2023-11-01

select  temparea.name,(case when lawtype like '%501%' then 501 when  lawtype like '%502%' then 502 
when lawtype like '%503%' then 503 when lawtype like '%504%' then 504 when lawtype like '%505%'
 then 505 when lawtype like '%506%' then 506 when lawtype like '%507%' then 507 when 
lawtype like '%508%' then 508 when  lawtype like '%509%' then 509 when lawtype like '%510%'
 then 510 else null end)lawtype,  temparea.supid,temparea.id  from lawpeople law   inner join area 
temparea on law.areaid= temparea.id  where   (ADDNEW is null or ADDNEW=4 or ADDNEW=6 ) and 
( RETIREMENT is null or RETIREMENT=0 or RETIREMENT=1 or RETIREMENT=2 or  RETIREMENT=3 or
 RETIREMENT=5 ) and (TRANSFERRED is null or TRANSFERRED=0 or TRANSFERRED=1 or TRANSFERRED
=2 or TRANSFERRED=3 or TRANSFERRED=5 ) and (OTHERREASONS is null or OTHERREASONS=0 or 
OTHERREASONS=1 or OTHERREASONS=2 or OTHERREASONS=3 or OTHERREASONS=5 ) and  
(BATCHLAWCODE is null or BATCHLAWCODE= 4 or BATCHLAWCODE= 6 );

 

上面的是视图。

这是统计的sql:

select rownum n,temp.* from (  select name,sum(case when lawtype like '%501%' THEN 1 else 0 end)
 zongHeZhiFa, sum(case when lawtype like '%502%' THEN 1 else 0 end) binWeiWuZhong, 
sum(case when lawtype like '%503%' THEN 1 else 0 end) shuMuZhongMiao,
 sum(case when lawtype like '%504%' THEN 1 else 0 end) linZhengGuanLi, 
sum(case when lawtype like '%505%' THEN 1 else 0 end) senLinGongAn, 
sum(case when lawtype like '%506%' THEN 1 else 0 end) shengTaiGongCheng, 
sum(case when lawtype like '%507%' THEN 1 else 0 end) yeShengDongWuBaoHu, 
sum(case when lawtype like '%508%' THEN 1 else 0 end) zhiWuJianYi, 
sum(case when lawtype like '%509%' THEN 1 else 0 end) zhiWuXinPinZhong, 
sum(case when lawtype like '%510%' THEN 1 else 0 end) other, supid,id 
 from arealawtype law    group by name,id ,supid HAVING id=728 or supid= 728 order by id asc   ) temp 
 

以下是测试数据:

 

 

数据库中 lawtype存的是

序号 姓名   类别

1    姓名   501,502,503

 

如果按照

 sum(case when lawtype like '%504%' THEN 1 else 0 end) linZhengGuanLi, 

这钟方式直接统计,那么统计出来的数据比原有数据要多,因为501的统计了一次,502的又把这条数据统计了一次,所以统计出来的数据要多。

 

怎样才能不多呢?

 

我建了个视图,把需要的类别用case when  then  when then .....方式过滤一遍,这样数据就不会多于了,在代码中直接查询这个视图就可以了。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

统计oracle 数据库 lawpeople表lawtype字段多个值只统计一次问题,按照地区分类 的相关文章

  • SQL中如何合并多个表的数据

    我想我的处境很复杂 这是场景 我在 SQL Server 中有 3 个表 注册 学生 课程 仅供参考 没有外键 表的列是 Student 学生号 学生名 Course 课程 ID 课程名称 注册 注册 ID 学生 ID 课程 ID 课程结果
  • 如何查询多个链接服务器?

    链接一些 SQL Server 2008 服务器 实例后 我想对这些服务器进行更通用的查询 我知道我必须像这样指定查询的命运 select from SRV INSTANCE dbname dbo foo 但是 我会针对多个链接服务器运行此
  • 如何以编程方式使用包含多列的 where-in 子句执行 PostgreSQL 查询?

    我的查询是这样的 select from plat customs complex where code t code s in 01013090 10 01029010 90 它在 psql 控制台中运行良好 我的问题是如何在客户端代码中
  • 实体框架 - 查询可为空列时出现问题

    我在从具有可为空的tinyint 列的表中查询数据时遇到问题 问题似乎是查询生成为 AND CAST Extent1 PositionEffect AS int p linq 3 gt p linq 3 NULL 如果我手动运行该查询 它不
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • PostgreSQL 如何创建数据库或模式的副本?

    有没有一种简单的方法可以在 PostgreSQL 8 1 中创建数据库或模式的副本 我正在测试一些软件 它对数据库中的特定模式进行大量更新 我想复制它 以便我可以与原始版本进行一些比较 如果它位于同一服务器上 则只需使用带有 TEMPLAT
  • Drupal 视图 - 自定义/修改 SQL

    我遇到了 配置文件复选框 模块的问题 该模块存储以逗号分隔的自定义配置文件字段 问题是我是否创建一个视图来按值过滤 SQL 结果最终是这样的 AND profile values profile interests value in Bus
  • JOOQ 忽略具有默认值的数据库列

    看来JOOQ完全忽略了数据库列的默认值 既不会更新 ActiveRecord 对象 也不会在 INSERT 时跳过此列 相反 它尝试将其设置为 NULL 这在 NOT NULL 列上失败 Example CREATE TABLE bug f
  • 如何查找列中未使用的ID? [复制]

    这个问题在这里已经有答案了 可能的重复 SQL查询查找丢失的序列号 https stackoverflow com questions 1057389 sql query to find missing sequence numbers 我
  • 在Oracle中查找不包含数字数据的行

    我试图在一个非常大的 Oracle 表中找到一些有问题的记录 即使该列是 varchar2 列 也应包含所有数值数据 我需要找到不包含数字数据的记录 当我尝试在此列上调用 to number col name 函数时 它会抛出错误 我想你可
  • INNER JOIN 后从多个表获取最大日期

    我有以下两个表 table 1 ID HOTEL ID NAME 1 100 xyz 2 101 pqr 3 102 abc table 2 ID BOOKING ID DEPARTURE DATE AMOUNT 1 1 2013 04 1
  • SELECT DISTINCT HAVING 计算唯一条件

    我已经搜索过这个问题的答案 但找不到如何根据条件获取这个不同的记录集 我有一个包含以下示例数据的表 Type Color Location Supplier Apple Green New York ABC Apple Green New
  • SQLite 自然连接损坏?

    我刚刚开始了解 NATURAL JOIN 而 SQLite 的行为并不像我预期的那样 SELECT FROM r1 NATURAL JOIN r2 NATURAL JOIN r3 and SELECT FROM r1 NATURAL JOI
  • 如何将列中的天数添加到 DB2 中的当前日期?

    我正在编写此 SQL 来动态计算一定的天数 如下所示 但我不知道如何让它工作 因为我不断收到错误 select Current Date Dynamic numbr of days calculation here from TableNa
  • MySQL 跨表计数(*) 查询帮助

    SELECT name COUNT AS count FROM t1 t2 WHERE t2 id t1 id GROUP BY t2 id 我想从 t1 获取名称以及 t2 中 id 与 t1 相同的行数 到目前为止我已经得到了上面的内容
  • 如何从 SQL Server 中的 SELECT 进行更新?

    In SQL服务器 可以将行插入到带有INSERT SELECT陈述 INSERT INTO Table col1 col2 col3 SELECT col1 col2 col3 FROM other table WHERE sql coo
  • postgresql 中的锁定表

    我有一个名为 games 其中包含一个名为 title 该列是唯一的 数据库中使用PostgreSQL 我有一个用户输入表单 允许他插入新的 game in games 桌子 插入新游戏的功能会检查之前输入的游戏是否存在 game 与相同的
  • Oracle Blob 在 PHP 页面中作为 img src

    我有一个网站当前使用文件服务器上的图像 这些图像显示在页面上 用户可以根据需要拖放每个图像 这是使用 jQuery 完成的 图像包含在列表中 每张图片都非常标准 img src network path image png height 8
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • 计算包含字母/数字的行数

    我想要实现的目标很简单 但是解释起来有点困难 我不知道在 postgres 中这是否真的可能 我处于相当基础的水平 SELECT FROM WHERE LEFT JOIN ON HAVING 等等基本的东西 我正在尝试计算包含特定字母 数字

随机推荐

  • M1芯片安装Photoshop 2021原生激活安装教程(附云盘下载)已支持M1芯片big sur系统 ARM M1处理器安装PS2021解决方案教程

    M1芯片MAC用户 收到2021年4月第二波更新 适配M1芯片MAC版的PS 2021原生JP终于来了 转眼购买M1芯片版的macbook pro已经3个多月了 之前因为这款芯片的特殊性 一直没能用上完美的PS 之前在网上找的PS安装大部分
  • Qt自定义类型的注册与使用

    使用C 时 经常会自定义各种类型的结构体 而在Qt中 用信号传递新的类型时 这时就需要将这种类型进行注册了 在使用Qt进行应用程序开发时 经常要自定义数据类型 而且在需要的时候还要把这些数据放到QVariant中去 因为QVariant是一
  • Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误

    1 打开cmd 进入mysql 2 依次输入以下命令 ALTER USER root localhost IDENTIFIED BY password PASSWORD EXPIRE NEVER 修改加密规则 ALTER USER root
  • 浅谈matlab数学建模中@符号-----函数句柄

    很多刚开始学数学建模的小伙伴第一次在matlab程序中遇到 这个符号都不知道是什么意思 如 f myfunction 或者 fun sin 其实这种用法叫创建函数句柄 当我们在万能的matlab帮助文档搜索函数句柄 什么花里胡哨的 打开即劝
  • zlib导入到工程与数据压缩

    一 将zlib导入到工程中 1 编译zlib库后 会生成一个ZlibDllRelease文件夹 Release版本 和一个ZlibDllDebug文件夹 Debug版本 使用zlib库 共需4个文件 zlib 1 2 8的根目录下的zcon
  • vue-cli-service serve --open启动项目时打开浏览器失效无法打开浏览器解决方法

    当在vue项目中的package json文件修改启动命令时 发现也无法自动打开浏览器 scripts serve vue cli service serve open build vue cli service build npm run
  • Python正则表达式模块(re)简介

    author skate time 2014 10 13 Python正则表达式模块 re 简介 一 Python中转义字符 正则表达式使用反斜杠 来代表特殊形式或用作转义字符 这里跟Python的语法冲突 因此 Python用 表示正则表
  • nginx 使用教程

    一 win7 nginx 常用命令 1 启动nginx start nginx 2 nginx 服务器重启命令 关闭 nginx s reload 修改配置后重新加载生效 nginx s reopen 重新打开日志文件 nginx t c
  • RabbitMQ应用之消息堆积、消息丢失、有序消费、重复消费

    文章目录 前言 一 消息堆积 1 消息堆积的产生与影响 2 消息堆积的解决方案 二 消息丢失 1 情景 2 解决方案 三 有序消费 1 情景 2 解决方案 四 重复消费 1 情景 2 解决方案 前言 最近接触了多线程和MQ等性能相关的内容
  • HTML 特殊符号编码对照表

    特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 Alpha 913 Beta 914 Gamma 915 Delta 916 Epsilon 917 Zeta 918 Eta 919 Thet
  • 工业互联网产业链全景图深度分析

    工业互联网领域有哪些投资机会 新基建 是与传统基建相对应 结合新一轮科技革命和产业变革特征 面向国家战略需求 为经济社会的创新 协调 绿色 开放 共享发展提供底层支撑的具有乘数效应的战略性 网络型基础设施 其中 新基建 包括5G基建 特高压
  • openwrt 修改feeds.conf.default为GitHub源

    lede和openwrt合并之后 lede官网挂了 git openwrt org 也访问不了 只好去github上找最新源码 git clone https github com openwrt openwrt git 复制代码 最新的l
  • 嵌入式linux 配置usb otg,嵌入式系统设计中的USB OTG方案

    速外设操作时最大为80mA TD1120整个芯片支持功率节省模式 包括主机控制器以及外设控制器的延缓模式以使功率消耗最小化www cechina cn 延长系统电池寿命 对于移动设备来说 电池寿命是很关键的性能 接口性能表现 USB数据传输
  • Bitmap之压缩方案

    文章目录 前言 1 基础知识 1 1色彩模式 1 2四种模式的区别 1 3具体对比 1 4bitmap内存占用大小计算方式 1 5图片存在的形式 1 6BitampFactory加载Bitmap对象的方式 2 压缩方案 2 1采样率压缩 2
  • Bugku 计算器

    首先打开题目链接 发现一个式子 但答案有三位数 而只能输入一个数字 直接F12查看原代码 发现maxlenthen 1 maxlenthen意思是文件域可接受的字符数量的上限 可输入字符串最大的长度 容质 所以把1改为3就好啦 然后得到fl
  • Redisson源码-多线程之首个获取锁的线程加解锁流程

    Redisson源码 多线程之首个获取锁的线程加解锁流程 简介 当有多个线程同时去获取同一把锁时 第一个获取到锁的线程会进行加解锁 其他线程需订阅消息并等待锁释放 以下源码分析基于redisson 3 17 6版本 不同版本源码会有些许不同
  • openEuler 20.03 LTS SP2以及SP3安装完gnome后,gdm登陆进入不了桌面问题

    一 问题原因 是由于CVE 2020 17489相关补丁引入的 暂不清楚是何原因造成 但除去该相关补丁之后 该问题消失 在网上查了下 CVE 2020 17489的问题是gnome shell的某些配置中会发现 注销账户时 登陆对话框中的密
  • SQLI-Labs(15-17)

    目录 15关 16关 17关 15关 看到这个那么我们可以首先尝试报错或者盲注 payload or length database 8 qwe 在这里我们发现and 会报错 跟之前我们利用and爆错不一样 那为什么这里我们在post传参时
  • Dubbo是什么

    Dubbo是什么 Dubbo是一个分布式服务框架 致力于提供高性能和透明化的RPC远程服务调用方案 以及SOA服务治理方案 简单的说 dubbo就是个服务框架 如果没有分布式的需求 其实是不需要用的 只有在分布式的时候 才有dubbo这样的
  • 统计oracle 数据库 lawpeople表lawtype字段多个值只统计一次问题,按照地区分类

    select temparea name case when lawtype like 501 then 501 when lawtype like 502 then 502 when lawtype like 503 then 503 w